随笔分类 - SpringCloud
摘要:Apollo简介: Apollo (阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用的不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 Apollo包括服务端和客户端两部分: 服务端基于Spring Boot和Sp
阅读全文
摘要:系统架构: 这里只演示以下组件,其他组件的使用和SpringCloud一样 application-1 :应用1,模拟应用,提供http接口服务。 service-1 :微服务1,模拟微服务,提供dubbo接口服务。 service-2 :微服务2,模拟微服务,提供dubbo接口服务。 架构中 ap
阅读全文
摘要:创建父工程,添加依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version>
阅读全文
摘要:主流配置中心对比: 目前市面上用的比较多的配置中心有:Spring Cloud Config、Apollo、Nacos和Disconf等。 由于Disconf不再维护,下面主要对比一下Spring Cloud Config、Apollo和Nacos。 nacos 1.2.0版本已支持权限控制 从配置
阅读全文
摘要:在实际的企业开发中,消息中间件是至关重要的组件之一。消息中间件主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。不同的中间件其实现方式,内部结构是不一样的。如常见的RabbitMQ和Kafka,由于这两个消息中间件的架构上的不同,像RabbitMQ有exchan
阅读全文
摘要:微服务的链路追踪概述: 分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。 Sleuth概述: Spring Clou
阅读全文
摘要:高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。我们都知道,单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。方法论上,高可用保证的原则是“集群化”,或者叫“冗余
阅读全文
摘要:Zuul网关存在的问题: 性能问题 Zuul1x 版本本质上就是一个同步Servlet,采用多线程阻塞模型进行请求转发。简单讲,每来一个请求,Servlet容器要为该请求分配一个线程专门负责处理这个请求,直到响应返回客户端这个线程才会被释放返回容器线程池。如果后台服务调用比较耗时,那么这个线程就会被
阅读全文
摘要:服务网关的概念: API网关是一个服务器,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供一个定制的API。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API
阅读全文
摘要:18年底Netflix官方宣布Hystrix 已经足够稳定,不再积极开发 Hystrix,该项目将处于维护模式。就目前来看Hystrix是比较稳定的,并且Hystrix只是停止开发新的版本,并不是完全停止维护,Bug什么的依然会维护的。因此短期内,Hystrix依然是继续使用的。但从长远来看,Hys
阅读全文
摘要:服务容错的核心知识: 雪崩效应 在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或者C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时若有大量的请求涌入,容器的线程资源会被
阅读全文
摘要:服务调用Feign入门: 在学习ribbon时,使用的RestTemplate实现REST API调用,代码大致如下: /** * 通过订单系统,调用商品服务根据id查询商品信息 * @param id * @return */ @GetMapping("/buy/{id}") public Pro
阅读全文
摘要:在Eureka的GitHub上,宣布Eureka 2.x闭源。这意味着如果开发者继续使用作为 2.x 分支上现有工作 repo 一部分发布的代码库和工件,则将自负风险。Eureka的替换方案:Zookeeper、Consul、Nacos(服务治理 + 配置中心 | Nacos = Eureka +
阅读全文
摘要:Ribbon概述: Ribbon是 Netflixfa 发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为。在 SpringCloud 中,Eureka一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能,Ribbon利用从Eureka中读取到的服务信息,在调用服务节点
阅读全文
摘要:Eureka Server 高可用集群: Eureka Client会定时连接Eureka Server,获取注册表中的信息并缓存到本地。微服务在消费远程API时总是使用本地缓存中的数据。因此一般来说,即使Eureka Server发生宕机,也不会影响到服务之间的调用。但如果EurekaServer
阅读全文
摘要:微服务的注册中心: 注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就在这里找到服务的地址,进行调用。 注册中心的主要作用: 服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协
阅读全文
摘要:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只
阅读全文
摘要:分布式SOA架构: 什么是SOA SOA 全称为 Service-Oriented Architecture,即面向服务的架构。它可以根据需求通过网络对松散耦合的粗粒度应用组件(服务)进行分布式部署、组合和使用。 一个服务通常以独立的形式存在于操作系统进程中。 站在功能的角度,把业务逻辑抽象成可复用
阅读全文

浙公网安备 33010602011771号