微服务笔记

一. Eureka服务注册中心

实现服务注册发现功能,故障转移;

Eureka Server和Eureka Client;

服务启动后,会在Server端进行注册,加入服务注册表,存储服务的信息;

Eureka Client是一个java客户端,默认使用轮询的负载均衡;

配置:name,url

@EnableEurekaServer,@EnableEurekaClient 启动服务

注入RestTemplate 使用

主机号+端口调用

传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient。不过此种方法使用起来太过繁琐。spring提供了一种简单便捷的模板类来进行操作,这就是RestTemplate


二. Ribbon客户端的负载均衡

客户端负载均衡的工具

@LoadBalanced默认的轮询,还有随机连接,自定义

直接采用服务名的方式进行调用



三. Feign远程调用

基于Ribbon的另一个负载均衡的客户端框架

在接口定义要调用的服务名即可

启动类@EnableFeignClients,接口@FeignClient


四. Hystrix断路器

当其中一个服务阻塞或者异常的时候,如果有另的服务调用了它,会导致一个雪崩效应

它是一个分布式系统延迟和容器的工具,保证服务出现问题的情况下,不会导致整个服务失败。

启动类@EnableCircuitBreaker

在接口@FeignClient,加入fallback参数。定义另一个接口实现它(熔断类),作为服务降级后的快速响应


五、Zuul路由网关

对请求的路由和过滤

将外部的请求转发到具体的服务实例上

过滤功能负责对请求的处理进行干预。

zuul和Eureka整合,zuul注册Eureka里,作为Eureka服务治理下的应用,可以从Eureka获取到其他服务的消息。

@EnableZuulProxy

统一的网关配置

服务名

可以通过路径访问服务

不可通过路径访问服务


六、spring cloud config配置中心

为微服务提供了中心化的配置


七、Nacos服务注册发现

配置中心信息:服务名,url网址

@EnableDiscoveryClient


八、Sentinel 服务熔断


九、Nacos Config Profile分布式配置

在Nacos Server控制台,添加配置文件

本地项目配置文件:bootstrap.yml,对应读取服务器上的yml文件

@RefreshScope实现动态更新


十、Dubbo

Java RPC 分布式服务框架

面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

RPC 是面向过程Restful 是面向资源

dubbo-api,provider,consumer

负载均衡:随机,轮循

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先讲到单体应用架构,何所谓单体应用架构,在互联网开始阶段,一个系统的所有模块都集中在一起,并以jar包的方式统...
    华仔阅读阅读 4,082评论 0 0
  • 当我们找到了微服务边界,将应用分解成了多个微服务,那么接下来一个重要的问题就是这些微服务的集成了。 一个健壮的微服...
    Raymond_Z阅读 5,505评论 1 5
  • Service Mesh 是一种新型的用于处理服务与服务之间通信的技术,保证服务与服务之间调用的可靠性。在使用的时...
    胖琪的升级之路阅读 3,496评论 0 0
  • 微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务。但如果要将微服务架构运用到生产项目上,并且能够发挥...
    java菜阅读 8,006评论 0 6
  • 为什么孩子明明做得不够好,我还要百分之百的相信他? 孩子明明做的不够好,是基于过去的事实,这并不代表孩子未来也是这...
    苦茶_09e4阅读 968评论 0 0