
分布式服务框架
文章平均质量分 92
程序猿进阶
要做就做第一,就算结果不是第一,也会是一个好成绩。 加油!我的未来不是梦。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式集群下如何做到唯一序列号
在单机上是递增的,但是由于涉及到分布式环境,每台机器上的时钟不可能完全同步,也许有时候也会出现不是全局递增的情况。在业务上的区别,订单号尽可能要多些冗余的业务信息,比如:滴滴:时间+起点编号+车牌号 淘宝订单:时间戳+用户。集群也可以防止单点故障(系统中一点失效,就会让整个系统无法运作的部件)的问题。字节是所在主机的唯一标识符。它设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。通过创建顺序节点,可以确保每个节点的名称是唯一且递增的。原创 2024-12-03 00:15:00 · 4881 阅读 · 72 评论 -
GRPC 压缩算法
这个 RPC 基础设施具有标准化、可通用和跨平台的特点,旨在提供类似 Stubby 的可扩展性、性能和功能,但它主要面向社区。gRPC+提供了多种压缩算法,以满足不同的需求和环境。使用较小的数据尺寸传输需要的带宽更少,这意味着可以减少使用的网络资源和相关费用。Stubby有许多很棒的特性,但无法标准化为业界通用的框架,这是因为它与谷歌内部的基础设施耦合得过于紧密。长期以来,谷歌有一个名为 Stubby 的通用 RPC 框架,用来连接成千上万的微服务,这些微服务跨多个数据中心并且使用完全不同的技术来构建。原创 2024-10-22 00:30:00 · 1757 阅读 · 48 评论 -
大厂服务降级规范
服务降级,是指在系统承受较大负载时,根据业务的紧急性和流量情况,对部分非核心或不紧急的服务采取延迟、简化或暂停处理的策略,从而释放系统资源,确保核心业务的高效稳定运行。系统资源有限,而业务需求与流量时常波动。特别是在活动或节假日等高峰期,流量可能突增,给系统带来巨大压力。若不进行适当处理,可能导致整体性能下降,甚至核心业务宕机。服务降级正是为了在这种情境下,通过牺牲部分非核心业务,保障核心业务的稳定运行。服务降级主要基于系统负载和业务实际运行情况。原创 2024-10-15 05:30:00 · 1914 阅读 · 67 评论 -
分布式集群下如何做到唯一序列号
在单机上是递增的,但是由于涉及到分布式环境,每台机器上的时钟不可能完全同步,也许有时候也会出现不是全局递增的情况。在业务上的区别,订单号尽可能要多些冗余的业务信息,比如:滴滴:时间+起点编号+车牌号 淘宝订单:时间戳+用户。集群也可以防止单点故障(系统中一点失效,就会让整个系统无法运作的部件)的问题。字节是所在主机的唯一标识符。它设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。通过创建顺序节点,可以确保每个节点的名称是唯一且递增的。原创 2024-09-12 05:15:00 · 1479 阅读 · 23 评论 -
分布式限流方案及实现
滑动窗口的基本思想是在固定窗口基础之上,将一个窗口分为若干个等分的小窗口,每个小窗口对应不同的时间点,拥有独立的计数器。: 可粗略的认为就是注水漏水的过程,往桶中以任意流速流入水,以一定速率流出水,当水超过桶容量则触发限流,因为出水速率是不变的,所以保证了资源的请求速率。【2】已有的分布式限流方案需要每次/每批请求都需要请求“阈值管理者”单点,增加了服务端的网络开销和不稳定因素,“阈值管理者”的稳定性也是影响结果的一个重要因素。以单机令牌桶限流的方式进行限流,和限流服务端无交互,减少不必要的调用和依赖;原创 2023-07-30 22:40:56 · 1956 阅读 · 7 评论 -
雪花算法 SnowFlake 内部结构【分布式ID生成策略】
一、前言 如何在分布式集群中生产全局唯一的 ID?【方案一】UUID:UUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度 32位的全局唯一识别码。UUID 虽然可以保证全局唯一,但是占32位而且无序,入库性能比较差。//例如:44e128a5-ac7a-4c9a-be4c-224b6bf81b20String uuid = UUID.randomUUID().toString()举个例子:MySQL 使用 .原创 2021-03-28 22:44:02 · 4861 阅读 · 2 评论 -
订单付款倒计时实现方案
当使用 12306 抢票成功后,就会进入付款界面,这个时候就会出现一个订单倒计时,下面我们就对付款倒计时的功能实现,进行深入学习和介绍,界面展示如下:如何实现付款及时呢,首先用户下单后,存储用户的下单时间。下面介绍四种系统自动取消订单的方案:一、DelayQueue 延时无界阻塞队列我们的第一反应是用 数据库轮序+任务调度 来实现此功能。但这种高效率的延迟任务用任务调度(定时器)实现就得不偿失。而且对系统也是一种压力且数据库消耗极大。因此我们使用 Java 延迟队列 DelayQueue ..原创 2021-04-20 12:42:32 · 4798 阅读 · 2 评论