![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
文章平均质量分 70
宽宽卡溜
这个作者很懒,什么都没留下…
展开
-
基于信号量和令牌桶算法的限流
限流的三种算法 限流主要有三种算法:信号量、漏桶算法和令牌桶算法。 信号量限制的是并发、资源。令牌桶限制的是QPS。 信号量 Semaphore是一个计数信号量。常用于限制获取某资源的线程数量,可基于java的concurrent并发包实现。 通过acquire()方法获取许可,该方法会阻塞,直到获取许可为止。 通过release()方法释放许可。 基于java的concurrent的实现 @RestController @RequestMapping("/semaphore") pub转载 2021-09-06 11:49:47 · 470 阅读 · 0 评论 -
《杨波:微服务架构核心20讲》核心内容(一)
一、什么是微服务架构 1、由一组小的服务组成,例如将单体架构应用进行拆分成多块小的独立服务,服务有多小具体看业务进行划分。 2、每个服务都是运行在独立的进程之中,以进程的方式去进行横向扩展。 3、服务之间的通信方式是轻量级的,例如HTTP协议。 4、基于业务能力来构建微服务。 5、每块服务都是能独立部署,团队之间不用太多协调,能加快迭代速度。 6、无集中式管理,每个团队管理的服务可以根据业务需要来选择相应技术栈。 7、服务之间是松散耦合的,没有强依赖,微服务基于有界上下文,每个团队有独立的数据原创 2021-07-29 09:44:49 · 936 阅读 · 0 评论 -
四种核心架构思维
一、介绍 架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。 最近团队来了一些新人,有些有一定工作经验,是以高级工程师/架构师身份进来的,但我发现他们大部分人思维偏应用和细节,抽象能力弱。所以作为团队技术培训的一部分,我整理了这篇文章,希望对他们树立正确的架构设计思维有帮助。我认为,对思维习惯和思考能力的培养,其重要性远远大于对实际技术工具的掌握。 由于文章内容较长,所以我把它分成两篇小文章,在本篇《四种核心架构思维》中,我会先介绍抽象、分层、分治转载 2021-07-28 14:45:32 · 346 阅读 · 0 评论 -
如何解决微服务的数据一致性分发问题?
介绍 系统架构微服务化以后,根据微服务独立数据源的思想,每个微服务一般具有各自独立的数据源,但是不同微服务之间难免需要通过数据分发来共享一些数据,这个就是微服务的数据分发问题。Netflix/Airbnb等一线互联网公司的实践[参考附录1/2/3]表明,数据一致性分发能力,是构建松散耦合、可扩展和高性能的微服务架构的基础。 本文解释分布式微服务中的数据一致性分发问题,应用场景,并给出常见的解决方法。本文主要面向互联网分布式系统架构师和研发经理。 https://blog.csdn.net/yang75转载 2021-07-28 14:42:49 · 149 阅读 · 0 评论 -
如何解决微服务的数据聚合Join问题?
单库Join问题 有后端开发经验的同学应该了解,对于传统SQL数据库,我们通常以正规化(normalization)的方式来建模数据。正规化的好处是数据冗余少,不足之处是数据聚合Join会比较麻烦。实际Join的时候,需要将几张相关表,通过主键和外键关系才能Join起来。我们知道,Join是一种开销比较大的SQL运算,当数据量少的时候,这种开销通常OK。但是随着企业规模逐渐变大,数据库中的数据量也会越变越大,相应地,Join的开销也会越来越大。于是,Join变慢的问题就会越来越突出,通常表现为用户的查转载 2021-07-28 14:30:46 · 681 阅读 · 0 评论 -
微服务架构 BFF和网关是如何演化出来的
文章目录 1. 介绍 2. 服务化架构V1 3. 服务化架构V2 4. 服务化架构V2.1 5. 服务化架构V3 6. 服务化架构V4 7. 结论 1. 介绍 BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概念,这两个概念相对比较新,有些开发人员甚至是架构师都不甚理解。 本文用假想的公司案例+图示的方式,解释BFF和网关是什么,它们是怎么演化出来的。希望对架构师设计和落地微服务架构有所启发。转载 2021-07-22 17:30:56 · 386 阅读 · 0 评论