几十元做网站,wordpress文章倒计时,宜春房产网,wordpress备份恢复.wpress微服务框架需要学习的东西很多#xff0c;基本上我把它分为了五个模块#xff1a;
第一#xff1a;微服务技术模块 分为三个常用小模块#xff1a; 1.微服务治理#xff1a; 注册发现 远程调用 配置管理 网关路由 2.微服务保护#xff1a; 流量控制 系统保护 熔断降级 服… 微服务框架需要学习的东西很多基本上我把它分为了五个模块
第一微服务技术模块 分为三个常用小模块 1.微服务治理 注册发现 远程调用 配置管理 网关路由 2.微服务保护 流量控制 系统保护 熔断降级 服务授权 3.分布式事务 分布式事务 TCC模型 AT模型 Seata
第二缓存技术模块 分为三个小模块 1.分布式缓存 Redis数据结构 SpringDataRedis 缓存穿透、雪崩 2.多级缓存 Openresty 多级缓存 Nginx本地缓存 缓存数据同步 3.Redis集群 Redis集群 Redis主从复制 Lua脚本 数据持久化
第三异步通信模块 分为两个模块 1.异步通信 数据持久化 消息堆积问题 MQ消息模型 SpringAMQP 2.可靠消息服务 消息可靠性 消息幂等性 镜像集群 延迟队列
第四搜索技术模块 主要就一个分布式搜索 DSL语句 RestAPI ES集群状态
第五Devops模块 主要就是Docker技术 Docker使用 Dockerfile Dockers compose 版本兼容关系 SpringCloud的关键如何在Java代码中发起Http请求来达到分布式的需求。 关于Nacos的理解 关于Nacos我的理解是在SpringCloudAlibaba中Nacos是Eureka的替代但是他的功能要比Eureka多一些。 Nacos的依赖
父工程依赖
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2.2.6.RELEASE/versiontypepom/typescopeimport/scope
/dependency子工程的依赖
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency在子工程的application.yml引入的配置
spring:cloud:nacos:server-addr: localhost:8848///注意 在做这些操作之前需要把以前使用Eureka的依赖和配置都注释掉
Nacos集群配置 Nacos可以直接在网页上修改权重不过Nacos他默认的选择的是随机查询 Nacos有个特殊的地方的是他有一个命名空间Namespace 在Nacos网页上选择新建命名空间然后复制命名空间id粘贴到项目中的application.yml文件中 从这里可以知道我们需要服务可访问必须把他们放在同一个命名空间之下 Nacos与Eureka之间的区别在于服务的健康检测
Nacos所有的新创建实例默认为临时实例临时实例做的检测时心跳检测Nacos检测时间比Eureka的要快一些。当Nacos创建的实例为非临时实例Nacos会主动询问服务并且当这个实例挂掉之后Nacos不会清理掉他而是会等他重新启动并且会把服务挂掉的信息告诉给消费者。 如何设置临时和非临时实例 CP和APCP就是强关联
关于Nacos的配置管理
对于一些有热更新需求的配置进行管理 总结如果需要在Nacos配置内完成热更新我们需要做以下几件事情第一在Nacos浏览器中修改Nacos中的配置管理并发布注意记住Nacos中配置管理的DataId其次在发布成功之后我们需要在后端程序中新建一个配置文件名字一定要是bootstrap.yaml,在配置文件中我们需要加入服务的名称开发环境以及后缀名然后我们需要在相对应的Controller类中加入RefreshScope注解然后把配置文件的属性和名称使用Value“${配置全称}”这样我们就完成了Nacos的配置拉取和热修改
如果Nacos创建了配置管理但没有加配置文件名称如userservice.yaml加配置环境名称userservice-dev.yaml则表示这个配置是属于共享的环境配置我们可以在这里面设置其他服务器所共享的配置。如果不同区域内的程序则调用不到dev
profiles: active: dev #开发环境这里是dev的配置下面配置是test的文件。 如果配置属性里面都有的话遵循如下配置项目里面写的配置服务名.yaml服务名-环境名.yaml Nacos的集群处理 Nacos1-3是我在一台电脑上模拟的Nacos集群的效果在里面我分别修改了 三个端口作为Nacos的启动端口和修改了
application.propersties文件里面的内容作为连接数据库其中db.num1代表有一个集群数量几台MySQL默认一台并且把三个Nacos的端口分别改成8845、8846、8847三个不同的端口。做完这些操作之后还需要对Nginx的config文件进行修改找到里面的nginx.conf文件在里面添加配置
upstream nacos-cluster {server 127.0.0.1:8845;server 127.0.0.1:8846;server 127.0.0.1:8847;
}server {listen 80;server_name localhost;location /nacos {proxy_pass http://nacos-cluster;}
} 这样当我们访问80端口的时候就会自动给我们随机访问到Nacos的8845~8847之间的端口从而实现集群搭建。