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

微服务下如何解耦(200721)

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

微服务理论

微服务理论 一、微服务简介 什么是微服务架构 服务拆分粒度更细 :根据业务拆分。 独立部署 :每个服务部署在物理上隔离,互不影响。 独立维护 :根据组织架构拆分,分团队维护。 服务治理 :服务数量变多,需要有统一的服务治理平台。 如何权衡微服务的利弊 优点 强模块化边界 可独立部署 技术多样性 ...
阅读全文
微服务中的分布式锁方案 软件架构

微服务中的分布式锁方案

最近在工作中碰到一个分布式锁问题,这个问题之前做项目的过程也搞过,不过没有深入整理,这个周末有时间刚好整理一把。 为什么需要分布式锁? 在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰进而保证一致性,这个时候,便需要使用到分布式锁。 常见的实现方案 基于数据库实现 数据表方案 最容...
阅读全文
这个厉害了,阿里P7大佬都在看的SpringCloud 总结,帮你梳理全部知识点! Spring

这个厉害了,阿里P7大佬都在看的SpringCloud 总结,帮你梳理全部知识点!

微服务架构是一种以一些微服务来替代开发单个大而全应用的方法,每一个小服务运行在自己的进程里,并以轻量级的机制来通信, 通常是 HTTP RESTful API。微服务强调小快灵, 任何一个相对独立的功能服务不再是一个模块, 而是一个独立的服务。 微服务是一种生态,不是一种具体技术 微服务的特性 自主性(松耦合) 可以对微服务架构中的每个组件服务进行开发、部署、运营和扩展,而不影响其他服...
阅读全文
tomcat 的最大连接数设置 Java

tomcat 的最大连接数设置

前提说明 为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器。达到保护自己的同时起到连接数负载均衡的作用。 动手去做 一开始根据故障todoList提供的参数MaxKeepAliveRequests,进行验证,我们将tomcat配置server.xml修改为: 同时,启动客户端模拟30个长连接...
阅读全文
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...
阅读全文
视频生产环境下的音视频解决方案 编程技术

视频生产环境下的音视频解决方案

随着云剪辑、云导播、音视频生产在线协作的兴起, 生产环境下的音视频处理越发为人所关注。音视频处理在生产环境下,对 控制精准性 有着更高的要求。从服务端到客户端,精准的时间控制、画面控制都是生产环境音视频和分发环境下音视频处理的重要区别。服务端与客户端的协同上,容易产生微小的差异。 文 / 姜雨晴 整理 / LiveVideoStack 视频回放: https://w...
阅读全文
详解SpringCloudGateway内存泄漏问题 Java

详解SpringCloudGateway内存泄漏问题

SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压力测试期间,发现特别不稳定,并发量时高时低,而且会有施压机卡住的现象,然后找到容器对应的宿主机,并使用container stats命令观察内存,经过观察发现,压力测试时内存会暴涨,并由于超过...
阅读全文
跟我一起开发商业级IM(1)——技术选型及协议定义 编程技术

跟我一起开发商业级IM(1)——技术选型及协议定义

终于可以开始写这个系列的文章了,本系列文章预计将分为 13 篇,由于IM涉及的知识点稍复杂,所以每个知识点都会单独用一篇文章来阐述,尽量讲透彻,方便大家理解。 灵魂拷问 为什么需要写这个系列的文章呢? 可能大家会问,有了之前的 NettyChat 和 开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现 ,为什么还需要写这个系列的文章呢?主要是因...
阅读全文
Loading...