- 博客(9)
- 收藏
- 关注
原创 服务熔断Hystrix
Hystrix是由Netflflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要通过以下几点实现延迟和容错。使用HystrixCommand包裹对依赖的调用逻辑,每个命令在独立线程中执行。这使用了设计模式中的“命令模式”。当某服务的错误率超过一定的阈值时,Hystrix可以自动或手动跳闸,停止请求该服务一段时间。Hystrix为每个依赖都维护了一个小型的线程池(或者信号量)。
2023-12-08 11:48:19
994
原创 SpringCloud Alibaba--Nacos(全)
国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。Nacos是阿里巴巴的产品,现在是中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。目前市面上用的比较多的配置中心有:ApolloNacos和Disconf等。由于Disconf不再维护,下面主要对比一下Apollo和Nacos。从配置中心角度来看,性能方面Nacos的读写性能最高,Apollo次之,依赖Git。
2023-12-06 13:21:50
914
1
原创 SpringCloud--Gateway服务网关
API网关是一个服务器,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供一个定制的API。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。过滤器的作用是什么?对路由的请求或响应做加工处理,比如添加请求头配置在路由下的过滤器只对当前路由的请求生效defaultFilters的作用是什么?对所有路由都生效的过滤器。
2023-12-03 22:59:31
1094
1
原创 服务调用Feign(超详细)
Feign是Netflflix开发的声明式,模板化的HTTP客户端,其灵感来自Retrofifit,JAXRS-2.0以及WebSocket. Feign可帮助我们更加便捷,优雅的调用HTTP API。在SpringCloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。
2023-12-03 15:01:40
991
1
原创 SpringCloud--Ribbon负载均衡
负载均衡简单来说就是让客户端的请求合理均匀的分发到多台目标服务器中,将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性的高可用网络基础框架。Ribbon就是一个典型的客户端负载均衡器,Ribbon会获取服务的所有地址,根据内部的负载均衡算法,获取本次请求的有效地址。Ribbon是Netflixfa发布的一个负载均衡器,有助于控制HTTP和TCP客户端行为。
2023-12-03 13:00:09
975
1
原创 SpringCloud--Eureka注册中心
Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
2023-12-03 00:44:36
936
1
原创 SpringCloud--服务调用(RestTemplate)
Spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。类有关。RestTemplate类的设计原则与许多其他Spring 模板类(例如JdbcTemplate、JmsTemplate)相同,为执行复杂任务提供了一种具有默认行为的简化方法。
2023-12-02 23:57:37
403
原创 SpringCloud--服务拆分
微服务拆分就是将原本的单体式项目(单体式项目:将业务的所有功能集中在一个项目中开发,打成一个包部署。中的服务从中拆分出来,一边实现隔离,另一方面实现解耦、彻底分离。首先微服务架构的概念就是服务,服务是在微服务架构中作为单独部署单元提供业务功能的应用服务。而微服务拆分就是在业务功能的前提下,将原本紧密的多个服务拆分为独立的服务模块。例如:可以有用户管理模块、订单模块、支付模块。
2023-12-02 23:21:50
422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人