当前位置: 首页 > news >正文

小说网站建设费用it外包公司为什么不能去

小说网站建设费用,it外包公司为什么不能去,做分类信息网站赚钱吗,平安保险网站一.Nacos配置管理 Nacos不仅可以作为注册中心#xff0c;可以进行配置管理 1.1 统一配置管理 统一配置管理可以实现配置的热更新#xff08;即不用重启当服务发生变更时也可以直接更新#xff09; dataId格式#xff1a;服务名-环境名.yaml#xff0c;分组一般使用默认…一.Nacos配置管理 Nacos不仅可以作为注册中心可以进行配置管理 1.1 统一配置管理 统一配置管理可以实现配置的热更新即不用重启当服务发生变更时也可以直接更新 dataId格式服务名-环境名.yaml分组一般使用默认即可配置内容只写有热更新需求的配置 1.2 拉取配置文件 在没有nacos配置文件时项目启动顺序为 项目启动读取本地配置文件创建spring容器加载bean 在有nacos配置文件之后项目启动顺序为 项目启动读取nacos配置文件读取本地配置文件创建spring容器加载bean 此时出现了一个问题**读取nacos配置文件需要知道nacos配置文件的地址而这个地址应该在application.yml中这是否造成了冲突**因此需要将nacos配置的地址提前此时使用bootstrap.yml引导文件该文件的优先级还要高于application.yml 执行步骤 1.在相应的服务中导入依赖比如user-service !--nacos配置管理依赖-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency2.导入并编写bootstrap.yml(该引导文件中会指明nacos配置文件所在位置) spring:application:name: userserviceprofiles:active: dev # 环境cloud:nacos:server-addr: localhost:8848 # nacos地址config:file-extension: yaml # 文件后缀名3.删除application.yml中与bootstrap.yml中重复的配置 # application: # name: userservice # user服务名称 # cloud: # nacos: # server-addr: localhost:8848 # nacos服务地址 # discovery: # cluster-name: SH # 集群名称4.验证是否真的读取到nacos配置文件 在UserController中添加内容 Value(${pattern.dateformat}) //读取nacos配置文件中的内容,并将内容注入到dateformat中;private String dateformat;GetMapping(/now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));}修改之后启动user-service,访问http://localhost:8081/user/now结果 1.3 配置文件热更新 Nacos中的配置文件变更之后微服务无需重启就可以感知。不过需要通过下面2种配置实现 方式一   在Value注入的变量所在类上添加注解RefreshScope Slf4j RestController RequestMapping(/user) RefreshScope public class UserController {Autowiredprivate UserService userService;Value(${pattern.dateformat})private String dateformat;GetMapping(/now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));} }修改之前 热更新之后 方式二 使用ConfigurationProperties(prefix “pattern”)注解单独配置一个属性类读取配置文件中的内容 1.新建config.PatternProperties属性类 Data Component ConfigurationProperties(prefix pattern) public class PatternProperties {private String dateformat; }2.将PatternProperties bean注入到UserController中: Slf4j RestController RequestMapping(/user) //RefreshScope public class UserController {Autowiredprivate UserService userService;Autowiredprivate PatternProperties patternProperties;// Value(${pattern.dateformat}) // private String dateformat;GetMapping(/now)public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));} }最终实现效果同上 1.4 配置管理-多环境配置共享 微服务启动时会从nacos读取多个配置文件: [spring.application.name]-[spring-profiles.active].yaml,例如userservice-dev.yaml这个是区分环境的。[spring.application.name].yaml,例如userservice.yaml这个不区分环境多环境共性。 无论profiles如何变化[spring.application.name].yaml该文件一定会被加载因此多环境共享分配置可以写入这个文件。 执行步骤 1.添加共享配置 2.采用第二种方式读入nacos配置文件属性 Data Component ConfigurationProperties(prefix pattern) public class PatternProperties {private String dateformat;private String envShareValue; }编写测试接口 GetMapping(/prop) public PatternProperties prop(){return patternProperties; }重启配置类访问结果:dev 访问结果:test 配置文件访问优先级 1.5 配置管理-nacos集群搭建 nacos在生产环境中必定是集群形式搭建集群的基本步骤 搭建数据库初始化数据库表结构下载nacos安装包配置nacos启动nacos集群nginx反向代理 1.新建数据库nacos初始化数据库表结构如果你使用的其他版本的nacos,记得使用里边自带的sql脚本初始化数据库 -- 新建查询 CREATE TABLE config_info (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) NOT NULL COMMENT data_id,group_id varchar(255) DEFAULT NULL,content longtext NOT NULL COMMENT content,md5 varchar(32) DEFAULT NULL COMMENT md5,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,src_user text COMMENT source user,src_ip varchar(50) DEFAULT NULL COMMENT source ip,app_name varchar(128) DEFAULT NULL,tenant_id varchar(128) DEFAULT COMMENT 租户字段,c_desc varchar(256) DEFAULT NULL,c_use varchar(64) DEFAULT NULL,effect varchar(64) DEFAULT NULL,type varchar(64) DEFAULT NULL,c_schema text,PRIMARY KEY (id),UNIQUE KEY uk_configinfo_datagrouptenant (data_id,group_id,tenant_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENTconfig_info;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 config_info_aggr */ /******************************************/ CREATE TABLE config_info_aggr (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) NOT NULL COMMENT data_id,group_id varchar(255) NOT NULL COMMENT group_id,datum_id varchar(255) NOT NULL COMMENT datum_id,content longtext NOT NULL COMMENT 内容,gmt_modified datetime NOT NULL COMMENT 修改时间,app_name varchar(128) DEFAULT NULL,tenant_id varchar(128) DEFAULT COMMENT 租户字段,PRIMARY KEY (id),UNIQUE KEY uk_configinfoaggr_datagrouptenantdatum (data_id,group_id,tenant_id,datum_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENT增加租户字段;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 config_info_beta */ /******************************************/ CREATE TABLE config_info_beta (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) NOT NULL COMMENT data_id,group_id varchar(128) NOT NULL COMMENT group_id,app_name varchar(128) DEFAULT NULL COMMENT app_name,content longtext NOT NULL COMMENT content,beta_ips varchar(1024) DEFAULT NULL COMMENT betaIps,md5 varchar(32) DEFAULT NULL COMMENT md5,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,src_user text COMMENT source user,src_ip varchar(50) DEFAULT NULL COMMENT source ip,tenant_id varchar(128) DEFAULT COMMENT 租户字段,PRIMARY KEY (id),UNIQUE KEY uk_configinfobeta_datagrouptenant (data_id,group_id,tenant_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENTconfig_info_beta;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 config_info_tag */ /******************************************/ CREATE TABLE config_info_tag (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) NOT NULL COMMENT data_id,group_id varchar(128) NOT NULL COMMENT group_id,tenant_id varchar(128) DEFAULT COMMENT tenant_id,tag_id varchar(128) NOT NULL COMMENT tag_id,app_name varchar(128) DEFAULT NULL COMMENT app_name,content longtext NOT NULL COMMENT content,md5 varchar(32) DEFAULT NULL COMMENT md5,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,src_user text COMMENT source user,src_ip varchar(50) DEFAULT NULL COMMENT source ip,PRIMARY KEY (id),UNIQUE KEY uk_configinfotag_datagrouptenanttag (data_id,group_id,tenant_id,tag_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENTconfig_info_tag;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 config_tags_relation */ /******************************************/ CREATE TABLE config_tags_relation (id bigint(20) NOT NULL COMMENT id,tag_name varchar(128) NOT NULL COMMENT tag_name,tag_type varchar(64) DEFAULT NULL COMMENT tag_type,data_id varchar(255) NOT NULL COMMENT data_id,group_id varchar(128) NOT NULL COMMENT group_id,tenant_id varchar(128) DEFAULT COMMENT tenant_id,nid bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (nid),UNIQUE KEY uk_configtagrelation_configidtag (id,tag_name,tag_type),KEY idx_tenant_id (tenant_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENTconfig_tag_relation;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 group_capacity */ /******************************************/ CREATE TABLE group_capacity (id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键ID,group_id varchar(128) NOT NULL DEFAULT COMMENT Group ID空字符表示整个集群,quota int(10) unsigned NOT NULL DEFAULT 0 COMMENT 配额0表示使用默认值,usage int(10) unsigned NOT NULL DEFAULT 0 COMMENT 使用量,max_size int(10) unsigned NOT NULL DEFAULT 0 COMMENT 单个配置大小上限单位为字节0表示使用默认值,max_aggr_count int(10) unsigned NOT NULL DEFAULT 0 COMMENT 聚合子配置最大个数0表示使用默认值,max_aggr_size int(10) unsigned NOT NULL DEFAULT 0 COMMENT 单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_count int(10) unsigned NOT NULL DEFAULT 0 COMMENT 最大变更历史数量,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,PRIMARY KEY (id),UNIQUE KEY uk_group_id (group_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENT集群、各Group容量信息表;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 his_config_info */ /******************************************/ CREATE TABLE his_config_info (id bigint(64) unsigned NOT NULL,nid bigint(20) unsigned NOT NULL AUTO_INCREMENT,data_id varchar(255) NOT NULL,group_id varchar(128) NOT NULL,app_name varchar(128) DEFAULT NULL COMMENT app_name,content longtext NOT NULL,md5 varchar(32) DEFAULT NULL,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,src_user text,src_ip varchar(50) DEFAULT NULL,op_type char(10) DEFAULT NULL,tenant_id varchar(128) DEFAULT COMMENT 租户字段,PRIMARY KEY (nid),KEY idx_gmt_create (gmt_create),KEY idx_gmt_modified (gmt_modified),KEY idx_did (data_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENT多租户改造;/******************************************/ /* 数据库全名 nacos_config */ /* 表名称 tenant_capacity */ /******************************************/ CREATE TABLE tenant_capacity (id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键ID,tenant_id varchar(128) NOT NULL DEFAULT COMMENT Tenant ID,quota int(10) unsigned NOT NULL DEFAULT 0 COMMENT 配额0表示使用默认值,usage int(10) unsigned NOT NULL DEFAULT 0 COMMENT 使用量,max_size int(10) unsigned NOT NULL DEFAULT 0 COMMENT 单个配置大小上限单位为字节0表示使用默认值,max_aggr_count int(10) unsigned NOT NULL DEFAULT 0 COMMENT 聚合子配置最大个数,max_aggr_size int(10) unsigned NOT NULL DEFAULT 0 COMMENT 单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_count int(10) unsigned NOT NULL DEFAULT 0 COMMENT 最大变更历史数量,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,PRIMARY KEY (id),UNIQUE KEY uk_tenant_id (tenant_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENT租户容量信息表;CREATE TABLE tenant_info (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,kp varchar(128) NOT NULL COMMENT kp,tenant_id varchar(128) default COMMENT tenant_id,tenant_name varchar(128) default COMMENT tenant_name,tenant_desc varchar(256) DEFAULT NULL COMMENT tenant_desc,create_source varchar(32) DEFAULT NULL COMMENT create_source,gmt_create bigint(20) NOT NULL COMMENT 创建时间,gmt_modified bigint(20) NOT NULL COMMENT 修改时间,PRIMARY KEY (id),UNIQUE KEY uk_tenant_info_kptenantid (kp,tenant_id),KEY idx_tenant_id (tenant_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENTtenant_info;CREATE TABLE users (username varchar(50) NOT NULL PRIMARY KEY,password varchar(500) NOT NULL,enabled boolean NOT NULL );CREATE TABLE roles (username varchar(50) NOT NULL,role varchar(50) NOT NULL,UNIQUE INDEX idx_user_role (username ASC, role ASC) USING BTREE );CREATE TABLE permissions (role varchar(50) NOT NULL,resource varchar(255) NOT NULL,action varchar(8) NOT NULL,UNIQUE INDEX uk_role_permission (role,resource,action) USING BTREE );INSERT INTO users (username, password, enabled) VALUES (nacos, $2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu, TRUE);INSERT INTO roles (username, role) VALUES (nacos, ROLE_ADMIN);2.安装nacos(略) 3.配置nacos(由于是集群所以我们配置多份),配置多份可以采用解压一次配置一次复制两份再依次修改。因为内存吃紧的原因我用2个nacos作为集群; 将nacos/conf/cluster.conf.example重命名为cluster.conf然后修改为,表示2台机器这里是只有一台机器所以用两个不同的端口号来模拟两台机器注意尽量使用你的本机IP地址cmd》》ipconfig可以查看本机IP地址。我的本机IP地址为10.81.62.166,所以cluster.conf中写的内容是 10.81.62.166:8848 10.81.62.166:8858修改nacos/conf/application.properties,添加数据库配置 1.打开数据源 spring.datasource.platformmysql2.指定数据库的数量 db.num13.指定数据库连接信息 db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC db.user.0root db.password.0你的密码4.将nacos文件夹复制2份 5.分别修改三个nacos中的application.properties中的server-portserver-port对应的是你在cluster.conf中配置的内容比如让nacos1中的server-port8848,让nacos2中的server-port8858。 6.启动startup.cmd这次是集群启动默认区别之前的单点启动共同点是都要进入bin目录再打开cmd窗口.注意目录中不能出现中文目录。 //单点启动 startup.cmd -m standalone//集群启动 startup.cmd nacos1集群启动效果 nacos2集群启动效果: 可能遇到的问题1 由于vmware虚拟网卡的存在nacos启动时会获取虚拟网卡的IP地址而不会读取cluster.conf中IP地址。我之前明明配置好了IP地址但是一直读取的确实192.168.11.11这个地址后来发现这是一个虚拟网卡IP地址于是禁用了虚拟网络恢复了正常。 7.配置nginx 将Nginx解压到一个没有中文的目录修改conf/nginx.conf文件配置如下将如下配置内容复制到conf/nginx.conf中的任何一个位置即可只要包含在http下 upstream nacos-cluster {server 10.81.62.166:8848;server 10.81.62.166:8858;}server {listen 8088;server_name localhost;location /nacos {proxy_pass http://nacos-cluster;}}可能遇到的问题2 nginx进行反向代理的配置时一个http中只能有一个server{},所以像视频中老师那样直接复制进去是不行的需要删除之前的server即可。保存之后重启nginx,打开对应的端口。 Nacos集群启动成功 8.修改代码中配置文件 由于部署了集群因此访问地址发生了变更,修改bootstrap.yml文件中server-addr为nginx监听端口 spring:cloud:nacos:server-addr: localhost:8088 # nacos地址
http://www.pierceye.com/news/13755/

相关文章:

  • 有电脑网站怎样建手机号码有哪些做汽车变速箱的门户网站
  • 做网站好学吗怎样登网站
  • app展示网站模板湛江有那些网站制作公司
  • 高端企业门户网站建设服务公司wordpress中常用插件
  • 襄阳电商网站建设前端做微网站
  • 东莞市住房建设网站人人快速开发平台
  • 网站维护一次一般要多久网站开发培训培训班
  • 网站可行性分析手工活外包加工网
  • 做网站百度推广江苏省建设执业资格中心网站
  • 高新西区网站建设如何建立设计一个公司网站
  • 招聘网站开发计划沈阳 网站开发制作
  • wordpress还原回收站建网站html5
  • 河南网站建设推广公司成都房屋设计公司哪家好
  • 辽宁网站备案展会展厅设计公司
  • 鞍山网站建设营销ftp上传文件到网站
  • 好看的网站你明白的房产备案查询
  • 重庆网站定制公司兰溪企业网站搭建地址
  • 信阳网站开发公司阿里巴巴网站建设初衷
  • 盐城哪家做网站的正规学到什么程度可以做网站
  • 盱眙在仕德伟做网站的有几家如何建立手机网站
  • 网站开发的相关语言有哪些网络营销是什么证
  • 广州中国建设银行网站首页招考网站开发
  • 苏州网站建设教程语音网站怎么做
  • 彩票网站开发合法吗网站建设公司哪里找
  • 专业手机移动网站建设公益网站模板
  • 建设工程教育网好还是环球网站好张北北京网站建设
  • 网站开发软件开发培训html 社区网站 模板
  • 自定义网站建站公司潍坊企业网络推广
  • 可以做微信推文的网站百度产品有哪些
  • 企业网站收费标准vue做移动端网站与pc端有什么区别