springCloud
springcloud与springboot的版本兼容问题
服务拆分
服务拆分注意事项:
不同微服务,不要重复开发相同业务
微服务数据独立,不要访问其他微服务的数据库
微服务可以将自己的业务暴露为接口,共其他微服务调用
远程调用
1.注册restTemplate
2.利用restTemplate发起http请求,查询信息
返回的是json对象,但可以将son对象自动反序列化成所需要的对象类型
restTemplate.getForObject(url,对象.class)
提供者与消费者
服务提供者:一次业务中,被其他微服务调用的服务。(提供接口给其他微服务)
服务消费者:一次业务重,调用其他微服务的服务。(调用其他为服务提供的接口)
Eureka注册中心
搭建EurekaServer
1.创建项目,引入依赖
2.编写启动类,添加注解@EnableEurekaServer
3.配置文件(服务端口,微服务名称,Eureka地址信息「也是一个服务,注册到自己,可以配置集群地址」
服务注册
1.加入客户端依赖
2.配置文件(名称和地址)
在某个服务模块完成服务拉取
负载均衡(Ribbon)[ctrl+h查看其实现类]
复杂均衡策略
两种负载均衡的方式:
作用的范围有所不同:第一种方式针对的是全体服务,第二种方式针对的是某个服务