认识spring cluod服务
spring cluod与spring boot版本兼容关系
服务拆分
案例demo
服务拆分-服务远程调用
1、注册RestTemplate对象
2、服务远程调用RestTemplate
eureka使用
eureka作用
搭建eurekaserver(注册中心)
注册应用服务(eureka-client)
order-server中替换url路径,用服务名代替ip、端口
ribbon原理:
实现逻辑
负载均衡策略
创建Bean进行设置的是全局的,配置文件只针对userserver服务
饥饿加载
服务默认就是懒加载模式
懒加载:第一次访问服务的时候才进行加载服务
nacos使用
nacos下载
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:
GitHub主页:https://github.com/alibaba/nacos
GitHub的Release下载页:https://github.com/alibaba/nacos/releases
windows下载后的目录结构
启动
在nacos/bin目录中,输入命令启动Nacos:
sh startup.sh -m standalone
Nacos的依赖
父工程:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
客户端:
<!-- nacos客户端依赖包 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
nacos使用
服务注册到nacos
nacos服务分级存储模型
nacos-NacosRule
优先访问哪一个集群
权重
实际部署中会出现这样的场景:
- 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求
nacos提供了权重配置来控制访问频率,权重越大则访问频率越高
Nacos环境隔离
在nacos服务里面新建命名空间生成命名空间ID
在服务中设置命名空间ID:spring-cloud-nacos-discovery-namespace
eureka和nacos的对比
- 都会把服务的信息推送到注册中心,区别在与nacos会对服务进行健康监测(划分为
临时实例
和非临时实例
)
nacos默认服务是临时实例
nacos会把不健康的临时实例剔除掉,不会剔除非临时实例(会主动查询非临时实例的状态)
- eureka是30秒更新一下服务消费和服务提供者,会存在服务列表更新不及时。nacos会主动的推送变更消息
后续相关文件链接:
一.Feign远程调用:https://blog.csdn.net/m0_66570338/article/details/128744333
二.Eureka注册中心:https://blog.csdn.net/m0_66570338/article/details/128747002
三.Nacos注册中心:https://blog.csdn.net/m0_66570338/article/details/128757552
四.Nacos配置管理:https://blog.csdn.net/m0_66570338/article/details/128764602
五.Gateway统一网关:https://blog.csdn.net/m0_66570338/article/details/128769153
六.Docker容器化:https://blog.csdn.net/m0_66570338/article/details/128786952
七.RabbitMQ&SpringAMQP消息队列:https://blog.csdn.net/m0_66570338/article/details/128808499