微服务下如何解耦(200721) 软件架构

微服务下如何解耦(200721)

今天准备谈下微服务架构下各个微服务间如何解耦,以及对于已经紧耦合的微服务如何进行重构。在谈这个内容前,可以先看下我前两天发布的微服务模块和粒度如何划分才更加合理的一篇文章,这篇文章对于微服务拆分有比较详细的描述。 可以参考: 中台规划中微服务粒度究竟应该如何划分?你可以从以下几点考虑 要明白实际上微服务后续出现的诸多问题往往都是一开始微服务模块划分就不合理导致,对于具体的模块划分方法和...
阅读全文
SpringCloud- 第十三篇 Zuul高层架构(二) Spring

SpringCloud- 第十三篇 Zuul高层架构(二)

1:架构图 2:ZuulServlet Zuul的核心是一系列的filters,Zuul大部分功能都是通过过滤器来实现的 1:ZuulServlet是Zuul的核心类,用来调度不同阶段的filters,处理请求,并处理异常等,路径是/zuul,可以使用zuul.servlet-path属性更改此路径 2:功能类似于SpringMvc的DispatcherServlet...
阅读全文
Spring Cloud OAuth2(基于JWT)的微服务认证授权实战 Spring

Spring Cloud OAuth2(基于JWT)的微服务认证授权实战

在上一章中已经介绍了Spring Security Oauth2的基本理论知识及其使用场景,本章节中注解介绍在Spring Cloud 中如何通过Oauth2来实现微服统一认证授权。 1.1解决方案 本文中主要用到以下解决方案: 基于无状态令牌(jwt)的认证方案,服务端无需保存用户登陆状态; 基于spring security框架 + oauth2协议 搭建; ...
阅读全文
RabbitMQ之springboot版详解 Spring

RabbitMQ之springboot版详解

前言 花了一周多的时间(周末去掉..捂脸)在工作之余写了两篇关于rabbitMq的内容,一篇是原生版的,一篇是springboot版的。初学者最好是看一下原声版更清晰一点,如果急于应用也可以直接看本文。本文内容较多,看完了五大消息模型的应用后还有进阶篇连着在一起,研究不太彻底请多多指教,好了,不打扰你们看了! 原生版传送门 rabbitMQ-springboot版 ...
阅读全文
SpringCloud- 第十一篇 Feign+Ribbon Spring

SpringCloud- 第十一篇 Feign+Ribbon

1:概述 由于Spring Cloud Feign的客户端负载均衡是通过Spring Cloud Ribbon实现的,所以可以直接通过配置Ribbon客户端的方式来自定义各个服务客户端调用的参数 2:全局配置 ribbon.ConnectTimeout=500 ribbon.ReadTimeOut=5000 3:指定服务配置 userService.ribbon.Connec...
阅读全文
详解SpringCloudGateway内存泄漏问题 编程技术

详解SpringCloudGateway内存泄漏问题

SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压力测试期间,发现特别不稳定,并发量时高时低,而且会有施压机卡住的现象,然后找到容器对应的宿主机,并使用container stats命令观察内存,经过观察发现,压力测试时内存会暴涨,并由于超过...
阅读全文
SpringCloud- 第十篇 Ribbon Spring

SpringCloud- 第十篇 Ribbon

1:Ribbon是什么 Ribbon是一个开源的客户端负载均衡器,由Netflix发布,是SpringCloud-Netflix中重要的一环,通过它将Netflix的中间层服务连接在一起。 Ribbon客户端组件提供一系列完善的配置项,如连接超时、重试等。简单的说,就是在配置文件中列出Load Balancer后面所有的服务,Ribbon会自动的基于某种规则(如简单轮询,随机连接等)去连接...
阅读全文
Dubbo注册中心(ZooKeeper、Redis)实现原理 编程技术

Dubbo注册中心(ZooKeeper、Redis)实现原理

在Dubbo微服务体系中,注册中心是其核心组件之一。Dubbo通过注册中心实现了分布式环境中各服务之间的注册和发现,是各分布式节点之间的纽带。其主要作用如下: 动态加入。一个服务提供者通过注册中心可以动态地把自己暴露给其他消费者,无需消费者逐个去更新配置文件。 动态发现。一个消费者可以动态的感知新的配置,路由规则和新的服务提供者,无需重启服务使之生效。 动态调整。注册中心支...
阅读全文
一篇文章带你快速理解springcloud微服务架构 编程技术

一篇文章带你快速理解springcloud微服务架构

SpringCloud微服务 微服务的模式和形式我在前面已经进行部分的提及,但是一直没落实到技术层面,这段时间我也在次研究了一下微服务,下面我先贴出SpringCloud整体涉及的结构 上面展示的这些是SpringCloud整体的结构 先对这些空间做一个初步的介绍: Ribbon,客户端负载均衡,重试机制。 Hystrix,客户端容错保护,服务熔断、请求...
阅读全文
玩转OpenFeign Java

玩转OpenFeign

经过前面几篇的源码分析,我们对 OpenFeign 与 Ribbon 也相对熟悉了。 看框架源码的目的就是解决我们的一些疑惑,能够知其然并知其所以然,以及用好框架。 很多时候,我们需要在项目中调用一些第三方接口,例如对接支付宝支付、微信支付,调用支付接口。如果项目中引入了 OpenFeign ,那么我们是否可以使用 OpenFeign 去调用第三方接口呢?答案肯定是可以的。 ...
阅读全文
Loading...