随笔分类 - 微服务
摘要:什么是服务治理 Spring Cloud封装了Netlix 公司开发的Eureka模块来实现服务治理在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用负载均衡、容错等,实现服务发现与注册。 什么是服务注
阅读全文
摘要:简介 ZooKeeper 是一个高可用的分布式数据管理系统协调框架。基于对 Paxos 算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得 ZooKeeper 解决很多分布式问题。 Zookeeper 保证了CP(数据一致性和分区容错性) 当向注册中心查询服务列表时,我
阅读全文
摘要:简介 Feign是一 个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装使其支持了Spring MVC标准注解和Ht
阅读全文
摘要:一、简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件 提供一系列完善的配置项如连接超时,重试等。简单的说,就是
阅读全文
摘要:什么是CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。 CAP由Eric Brewer在2000年PODC会议上提出。该猜想在提出两年后被证明成
阅读全文
摘要:简介 中文参考手册 Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。 这些功能可以根据需要单独使用,也可以一起使用以构建完整的服务网格。 Consul需要一个数据平面,并支持代理和本机集成模型。 Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支
阅读全文
摘要:一、简介 1.1 Spring Cloud alibaba Spring Cloud Netflix项目进入维护模式 将模块置于维护模式,意味着Spring Cloud团队将不会再向模块添加新功能。我们将修复block级别的bug以及安全问题,我们也会考虑并审查社区的小型pull request.我
阅读全文
摘要:一、简介 官网介绍及源码 在微服务框架中, 一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每个前段请求都会形成一复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。Spring Cloud Sleuth提供了一套完整的服务
阅读全文
摘要:1.SpringCloud和Dubbo SpringCloud和Dubbo都是现在主流的微服务架构 SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架 从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现
阅读全文
摘要:一、简介 Spring Cloud Stream中文指导手册 官方定义Spring Cloud Stream是一个构建消息驱动微服务的框架。 应用程序通过inputs或者outputs与Spring Cloud Stream中binder对象交互,通过我们配置来binding(绑定) 。而Sprin
阅读全文
摘要:一、简介 重要概念:总线 在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题, 并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其他连接在该主题 上的实例都知道的消息。 分布式自
阅读全文
摘要:一、简介 1.1 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。如果没有的话,我们每个微服务自己带着一个applicatio
阅读全文
摘要:一、简介 Spring Cloud Gateway 使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架 Gateway是在Spring生态系统之上构建的API网关服务,于Spring 5, Spring Boot 2和Project Reactor等技术。
阅读全文
摘要:分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。 如果扇出的链路上某个微服务的调用响应时间过长或者不可用
阅读全文
摘要:1.ZooKeeper 是什么? ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的Chubby 一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。客户
阅读全文
摘要:一、SSO 简介 单点登录(Single Sign On,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就
阅读全文
摘要:https://www.php.cn/nginx/422065.html
阅读全文
摘要:一、分布式事务问题 1.1 分布式之后 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证。 1.2 分布式前 单机单库没这个问题,从1:1 ->
阅读全文
摘要:一、简介 官网 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 是一个轻量级的流量控制、熔断降级Java库。(类似Hystr
阅读全文