springcloud包含的模块:
1、服务注册与发现 2、服务调用 3、服务熔断 4、负载均衡 5、服务降级 6、服务消息队列
7、配置中心管理 8、服务网关 9、服务监控 10、全链路追踪 11、自动化构建部署
12、服务定时任务调度操作
版本控制留样
重点技术选型:
服务注册中心:Nacos
服务调用:Ribbon OpenFeign
服务降级:spring cloud alibaba sentienl
服务网关:gateway
服务配置:Nacos
服务总线:Nacos
分布式微服务架构核心逻辑:
约定>配置>编码
热部署:
Devtools
什么是RestTemplate:
RestTemplate提供了多种便捷访问远程Http服务的方法,
是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集
使用RestTemplate:
使用restTemplate访问restful接口非常的简单粗暴无脑。
(url, requestMap, ResponseBean.class)这三个参数分别代表
REST请求地址、请求参数、HTTP响应转换被转换成的对象类型。
注意:
使用RestTemplate来链接两个微服务方法的时候,需要在传递的实体类前 加入注解@RequestBody 。
介绍一个好用的工具类包:Hutool:
Hutool——国产良心工具包,让你的java变得更甜http://www.baidu.com/link?url=z92WLSS0jxe6nDf-taVoZL_TQ5842X2NqngkNuyWOL8kYQeW6G0_Wgr3zj9cLQRp
Eureka服务注册与发现
什么是服务治理?
Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
什么是服务注册与发现?
Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)。在任何rpc远程框架中,都会有一个注册中心(存放服务地址相关信息(接口地址))
Eureka的两个组件:
Eureka包含两个组件:Eureka Server和Eureka Client
Eureka Server提供服务注册服务
各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。
EurekaClient通过注册中心进行访问
是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)
@EnableEurekaServer 注解:
放在哪个微服务启动类上就代表哪个类是服务注册中心,由它来配置、登记和注册