实战指南之分布式/微服务
文章平均质量分 93
只有逻辑性的模块化,物理不隔离,随着代码的增⻓也越来越混乱、复杂。⼀个百万⾏级别的单体应⽤为例,整个项⽬包含的模块⾮常多,模块的边界模糊,依赖关系不清晰,代码质量参差不⻬,混乱地堆砌在⼀起……整个项⽬⾮常复杂。每次修改代码都⼼惊胆战,甚⾄添加⼀个简单的功能,或者修改⼀个BUG都会带来隐含的缺陷。
洛神灬殇
前优酷资深工程师,一个具有高洞察力的理性自律小i人 — INTJ,
著作《深入浅出Java虚拟机—JVM原理与实战》,
10年以上开发经验,参与设计过多个大型互联网项目,定期分享技术干货和项目经验,
希望大家可以多多支持我,点赞关注一下
展开
-
作者推荐 | 【分布式技术专题】「架构设计方案」图解学习法总结集群模式下的各种软负载均衡策略实现及原理分析
在分布式系统中,负载均衡是非常重要的环节,通过负载均衡将请求派发到网络中的一个或多个节点上进行处理。通常来说,负载均衡分为硬件负载均衡及软件负载均衡。硬件负载均衡,顾名思义,在服务器节点之间安装专门的硬件进行负载均衡的工作,F5或者A10便为其中的佼佼者。软件负载均衡则是通过在服务器上安装的特定的负载均衡软件或是自带负载均衡模块完成对请求的分配派发。例如,平时我们使用的Nginx或者API-Gateway网关服务就主要采用负载均衡的方式去转发分派下游服务。原创 2022-12-10 17:11:52 · 1565 阅读 · 0 评论 -
【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系
对于普通用户来讲,看到的只是一个比较简单的秒杀页面,在未达到规定时间,秒杀按钮是灰色的,一旦到达规定时间,灰色按钮变成可点击状态。分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。现在的秒杀大多都会出来针对秒杀对应的软件,这类软件会模拟不断向后台服务器发起请求,一秒几百次都是很常见的,如何防止这类软件的重复无效请求,防止不断发起的请求也是需要我们针对性考虑的。原创 2022-12-09 13:27:21 · 4729 阅读 · 1 评论 -
【分布式技术专题】「Zookeeper中间件」给大家学习一下Zookeeper的”开发伴侣”—Curator-Framework(组件篇)
目前Curator有2.x.x和3.x.x两个系列的版本,支持不同版本的Zookeeper。其中Curator 2.x.x兼容Zookeeper的3.4.x和3.5.x。而Curator 3.x.x只兼容Zookeeper 3.5.x,并且提供了一些诸如动态重新配置、watch删除等新特性。原创 2022-11-26 14:22:15 · 847 阅读 · 0 评论 -
【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「SpringAOP 整合篇」
针对于上一篇【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」的功能开发指南之后,相信你对于Sl4fj以及Log4j整个生态体系的功能已经有了一定的大致的了解了,接下来我们需要进行介绍关于实现如何将MDC的编程模式改为声明模式的技术体系,首先再我们的基础机制而言,采用的是Spring的AOP体系,所以我们先来解决说明一下Spring的AOP技术体系。原创 2022-11-20 00:26:37 · 5655 阅读 · 0 评论 -
【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」
日志追踪对于功能问题的排查和数据流转的路径分析时非常重要的,有了全链路日志追踪体系机制可以非常有效且快速的定位问题,但在多线程环境中,若没有相关成熟的框架的支持,想要实现日志追踪,就需要手动将主线程中的日志参数传递给子线程,接下来就在线程池场景下借助MDC实现了traceId参数的透传。原创 2022-11-17 13:39:07 · 6249 阅读 · 7 评论 -
深度解析RedHat的AMQ7 — 全面功能与组件概览、部署架构简析
Red Hat AMQ以其卓越的性能,为互联网级应用程序量身打造了快速、轻量且安全的消息传递解决方案。其核心组件AMQ Broker,凭借其多协议支持和高效的消息持久化能力,确保了消息传递的广泛兼容性与数据安全性。而AMQ互连功能,则巧妙运用AMQP协议,实现了消息传递资源在网络中的无缝分发与灵活扩展,助力企业构建更加灵活、强大的消息通信体系。原创 2024-09-21 11:49:08 · 850 阅读 · 0 评论 -
深入剖析高并发服务架构设计的探索与性能分析(1)
随着机器数量的增加,缓存的分散性和复杂性也随之上升,这可能导致缓存命中率逐渐下降,因为数据分布在不同机器上,访问频率和模式难以预测。同时,由于缓存的分散,失效策略的实施变得更为复杂,增加了缓存失效的难度,从而影响了缓存的有效性和性能。:静态化架构设计的核心要求。因此,在设计过程中,我们需要确保架构的各个组件能够协同工作,确保数据的准确性和一致性,并具备足够的容错能力以应对各种异常情况。面对业务逻辑的复杂性,注重于提炼其核心流程,通过模块化和组件化的设计,将复杂的业务逻辑拆分为多个独立且易于管理的部分。原创 2024-07-02 18:03:13 · 601 阅读 · 0 评论 -
分布式技术专题 | TCP在分布式网络中的通信机制与底层实现
在计算机网络中,每一个连接的设备都被称为节点。这些节点不仅包括计算机,还涵盖了打印机、路由器、网桥、网关和哑终端等多种设备。为便于区分,本书将网络中的计算机节点特别称为“主机”,而将其他设备统称为“节点”。原创 2024-07-02 17:57:49 · 540 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(流式处理到微批处理)
在之前的整个系列文章中分析和介绍了分布式系统设计的关键决策,这些原则同样适用于流式计算架构等众多系统。聚焦于分布式数据系统,我以Zookeeper和Kafka为例进行阐述,二者作为流计算框架的核心组件,凸显其重要性。流计算,该领域对低延迟有严格要求,因此在传统分布式系统挑战之上,还需应对更细粒度处理的难题。流计算框架,纯粹的流处理虽实时性高,但无法确保exactly-once语义下的数据准确性;微批处理,解决这一问题,却牺牲了一定的低延迟特性。原创 2024-06-18 14:34:03 · 613 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(消息队列)
Kafka消费者而言,其确认(ack)消息的时机直接关乎消息传递语义的界定。Kafka作为一款高度工程化的分布式消息传递系统,其内在价值体现在它精心构筑了一个坚如磐石的基础架构,该架构深度融合了容错性、扩展性和卓越的吞吐性能,旨在为大规模分布式环境中的数据流转提供无可挑剔的安全性与效率保障。Kafka通过运用其独特的分布式体系结构、精心设计的【磁盘利用机制】、【庞大的存储容量】、【先进的数据打包与压缩技术】,以及对【操作系统级缓存资源】的巧妙的运用,彰显出无与伦比的扩展潜能、存储经济性与数据处理效能。原创 2024-06-18 14:33:42 · 1080 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(流式服务)
在分布式系统中,这种用效率换取可扩展性,再用可扩展性来弥补效率损失的策略相当普遍。它允许系统在面对不同规模和复杂度的数据处理任务时,都能保持高效和稳定的性能。通过这种方式,流式计算框架不仅能够在实时性上满足需求,还能够在处理大规模数据流时保持高吞吐量,从而在各种应用场景中都能展现出强大的竞争力。原创 2024-06-17 17:38:35 · 1036 阅读 · 0 评论 -
作者推荐 | 探索分析从起源到现今的巅峰之旅(MySQL存储模型)
在深入研究MySQL的存储架构之后,本文详细解读了索引设计的历史演变和当前趋势,着重突出了索引在业务系统中的不可或缺性和其重要性。然而,值得注意的是,高并发场景下的数据库性能调优是一个多维度的挑战,索引优化只是其中的一环。本文的核心目标在于阐明索引优化的核心原理与策略,旨在为数据库性能调优的全方位实践提供坚实的理论支撑。InnoDB数据库以页作为数据存取的基础单元,其默认大小为16KB。为了满足不同的需求,InnoDB设计了多种类型的页,所有类型的页都共享一个通用的结构,原创 2024-06-17 17:38:12 · 1116 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(分布式技术)
一个系统之所以逐渐走向分布式架构,必然有其深刻且必要的动因。在众多驱动因素中,伸缩性(Scalability)无疑是最为显著的。在读写操作中常常存在权衡取舍,优化写入操作可能会对读取操作产生负面影响。基于Round-Robin,尽管它能够平均分配写入负载,但在执行范围查询(Range Query)时,需要向所有机器发送查询请求,这可能导致查询效率降低。基于Range,虽然有助于针对范围查询,但写入操作可能集中在同一台机器上,造成写入瓶颈。原创 2024-06-16 10:40:09 · 1097 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(分布式协议)
在上一篇文章,我们已经探讨了在处理数据一致性问题中的角色。当面对数据时序的挑战时,这意味着我们已主动放弃了对强一致性(Strong Consistency)的坚守,转而追求最终一致性(Eventually Consistency)这一更为宽松的标准。最终一致性并非承诺任何时候、任何节点的数据状态皆完全一致,而是保证在数据更新停止后,所有节点最终将达成一种协调一致的状态。这一概念乍一听似乎充满了不确定性,让人不禁产生疑虑。原创 2024-06-16 10:39:03 · 1172 阅读 · 0 评论 -
分布式技术导论 — 探索分析从起源到现今的巅峰之旅(逻辑架构)
MySQL作为一款广泛应用的数据库管理系统,其架构所具备的多用途特性和对复杂环境的高度适应性,使其能在诸多应用场景中展现出卓越的性能实力。无论是作为应用程序内核部分实现无缝整合,还是服务于确保数据冗余以达成高可用架构的设计,乃至在承载大规模并发交易、应对实时数据流转需求的在线事务处理系统(OLTP)中。原创 2024-06-15 11:54:01 · 780 阅读 · 0 评论 -
深入剖析云原生服务与微服务框架中服务发现机制的核心原理与实现细节
本文旨在深入探讨和分析微服务架构以及云原生架构中的服务发现机制原理。我们将重点关注K8S(Kubernetes)服务发现的原理和实现机制,以期为读者提供全面而深入的理解。通过对这些核心原理的剖析,我们能够更好地理解服务发现在现代分布式系统中的重要性和应用价值,从而为实际应用提供有力支持。原创 2024-06-14 14:37:05 · 1451 阅读 · 0 评论 -
作者推荐 | 一文深度解读 — 彻底认识与理解微服务技术之Rest与Restful架构精髓
在微服务架构的演进过程中,我们不难发现,服务间的调用方式正悄然发生变革,逐渐从传统的RPC调用向HTTP调用过渡。在日常工作中,时常听闻同事提及为其他系统提供微服务并暴露Restful接口。然而,对于许多初学者来说,RESTful接口这一概念仍显得模糊,其与REST的关系更是令人费解。Rest,其全称是,我们可以将其视为“资源状态转换在分布式系统的设计中,Rest以其独特的架构方法占据了一席之地,这一理念的开创者Roy Fielding,在博士论文中首次提出了这一思想。资源是信息的载体,是对信息的核心抽象。原创 2024-06-14 14:36:29 · 1103 阅读 · 0 评论 -
【分布式技术专题】「OceanBase深度解析」 探索OceanBase产品矩阵与核心设计
这种设计确保了系统在面对高并发或单点故障时,仍能保持高效、稳定的运行状态,为用户提供持续、可靠的服务。:按需在线扩容、缩容、不停服务”是云计算和分布式系统中一个重要的特性,它指的是系统能够根据实际负载情况,自动或在管理员的干预下,动态地增加或减少资源(如服务器、存储、网络带宽等),以满足业务的需求,并且在整个过程中保持服务的连续性和可用性。OceanBase整合方案不仅包含了技术层面的优化与提升,更在用户体验、系统稳定性、可扩展性、安全性、兼容性和智能化等方面实现了显著的突破。原创 2024-06-14 04:00:00 · 802 阅读 · 0 评论 -
分布式协议之巅 — 揭秘基础Paxos与Raft协议如何实现分布式系统达成一致性(非变种Paxos协议)
在我们深入探讨分布式一致性及其实现方式——Raft协议之前,让我们首先揭开Paxos协议的神秘面纱。Paxos协议,这个在分布式系统领域颇具影响力的开创性协议,早已在业界赢得了广泛的认可和应用。它的影响力甚至延伸到了后续著名的Raft协议,后者在很大程度上是基于Paxos的精髓发展而来的。实际上,许多知名产品,如Google的Chubby、Spanner,以及IBM的SVC等,都选择了Paxos作为它们分布式一致性的解决方案。原创 2024-06-13 19:33:26 · 919 阅读 · 0 评论 -
高并发挑战?盘点这些架构优化篇技巧,让你的系统焕发新生!
随着业务的不断扩展,高并发问题成为了一个必须面对的挑战。为了应对这一挑战,我们可以从多个方面入手进行优化。我们可以考虑使用负载均衡技术。负载均衡可以将请求分发到多个服务器上,从而分散单个服务器的压力。这样不仅可以提高系统的并发处理能力,还能提高系统的可用性和稳定性。原创 2024-06-13 19:32:40 · 1383 阅读 · 0 评论 -
【分布式技术专题】「OceanBase深度解析」 从0到1揭秘原生分布式数据库成为企业的首选?
在大数据的浪潮中,经过近四十年的磨砺,传统集中式数据库已然臻至成熟之境。然而,面对今日数据爆炸式增长的时代背景,传统数据库架构仍面临诸多严峻挑战。分布式数据库,凭借其独特优势,被视为破解这些挑战的关键所在,并逐渐成为未来数据库发展的核心方向。传统数据库对硬件基础设施的依赖性强,且其扩展方式往往局限于纵向,难以通过横向扩展实现性能的持续提升,这使得其在应对海量数据处理时,易达性能上限,捉襟见肘。尽管分库分表策略在一定程度上实现了数据库的横向扩展,但这一方案也带来了新的挑战。它往往不支持复杂的SQL查询,且难以原创 2024-06-12 09:00:00 · 833 阅读 · 0 评论 -
【分布式技术专题】「服务架构设计」带你统一认识一下系统架构及分析和总结
架构的规划谁架构图的设计架构类型分布式架构SOA架构单体式应用微服务架构微服务架构分成三种实现模式。事件驱动架构事件驱动架构的四个部分事件驱动架构的优缺点优点缺点分层架构分层架构优点缺点微核架构。优点缺点云架构。原创 2024-05-09 23:11:58 · 651 阅读 · 0 评论 -
互联网技术底蕴探究 | 联网通信原理精析与网络协议通信机制
本文旨在对联网的基本理念进行综述,并聚焦于联网原理的核心议题。对初级读者而言,重温联网基础概念的教程颇具价值。欲投身网络编程领域,深入理解构成TCP/IP协议簇内部各协议间错综复杂的关联性,无疑是至关重要的前提条件。原创 2024-04-19 07:00:00 · 1106 阅读 · 0 评论 -
探索HTTP协议的世界 | 从基础到高级应用,原理与实践相结合(请求篇)
HTTP,作为一种关键的应用层协议,以其简洁高效的特性,专为支持分布式超媒体信息系统的运作而设计。自1990年代初概念初现以来,HTTP协议历经了不断的实践检验和技术革新,逐步稳固了其作为互联网通信核心基石的地位。然而,随着技术的飞速发展和网络应用的日益复杂,全球万维网生态中对于更高效、更安全的通信协议的需求也在不断增加,下面便是HTTP协议版本发展的时间线。原创 2024-04-13 06:00:00 · 1002 阅读 · 0 评论 -
【分布式技术专题】「Zookeeper中间件」Paxos协议的原理和实际运行中的应用流程分析
Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。一个进程或者服务节点可能同时充当多种角色,可能既是Proposer又是Acceptor又是Learner。只要Proposer发的提案被Acceptor接受(半数以上的Acceptor同意才行),Proposer就认为该提案里的value被选定了。Acceptor告诉Learner哪个value被选定,Learner就认为那个value被选定。原创 2024-02-06 23:17:18 · 2308 阅读 · 0 评论 -
【揭秘OIDC协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略OIDC协议的奥秘,告别SSO的迷茫与困惑
前面的两篇文章已经介绍了Saml协议和OAuth2.0协议,接下来我们介绍另外一个的认证协议:OpenID Connect(OIDC)。原创 2024-02-05 16:31:27 · 1199 阅读 · 0 评论 -
【揭秘OAuth协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略OAuth协议的奥秘,告别SSO的迷茫与困惑
在现代的网站中,我们经常会遇到需要用户登录的情况。然而,直接要求用户注册可能会显得繁琐,导致用户的流失。为了解决这个问题,网站可以采用OAuth授权机制。通过与像GitHub或其他第三方网站的认证授权合作,网站可以获取用户的相关信息,避免了繁琐的注册过程。在从第三方网站授权获取用户信息后,可能还需要在本网站填写一些必要的信息,例如手机号码、用户名等,以进行绑定操作。相比直接注册,这种方法要简便得多,也更容易被用户接受。在本文中,我们将解释OAuth 2.0授权框架的构成,希望能为大家带来喜悦。原创 2024-02-04 17:12:50 · 1166 阅读 · 1 评论 -
【揭秘SAML协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略Saml协议的奥秘,告别SSO的迷茫与困惑
SAML(Security Assertion Markup Language)是由OASIS制定的基于XML的开放标准。它用于在身份提供者(IdP)和服务提供者(SP)之间交换身份验证和授权数据,从而支持跨域单点登录,提高身份认证和授权管理的安全性和效率。原创 2024-02-02 19:54:57 · 1663 阅读 · 0 评论 -
【分布式技术专题】Guava RateLimiter 针对于限流器的入门到实战(含源码分析介绍)
RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,比如:你希望自己的应用程序QPS不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌。一旦获取到许可证,不需要再释放许可证。有一点很重要,那就是请求的许可数从来不会影响到请求本身的限制(调用acquire(1) 和调用acquire(1000) 将得到相同的限制效果,如果存在这样的调用的话),但会影响下一次请求的限制。原创 2024-02-01 21:54:35 · 1292 阅读 · 0 评论 -
作者推荐 | 企业级缓存技术解析,你必须知道的“9“大技术问题与常见误区
若要持续优化站点或应用程序,最迅速且最显著的方式无疑是采用缓存技术。我们通常会将常用或需耗费大量资源与时间生成的数据进行缓存,以确保后续使用的流畅性。尽管缓存的优点颇多,但在实际应用中,其效果往往不尽如人意。假设缓存能将性能提升至100%,但实际效果往往只有80%、70%或更低,甚至可能导致性能严重下降。尤其在分布式缓存的使用中,这种现象尤为明显。相信众多读者已经注意到,本文尚有两个问题尚未剖析。原创 2024-01-31 17:57:55 · 1076 阅读 · 1 评论 -
【分布式技术专题】「探索高性能远程通信」基于Netty的分布式通信框架实现(Dispatcher和EventListener)(下)
经过阅读《【分布式技术专题】「探索高性能远程通信」基于Netty的分布式通信框架实现(附通信协议和代码)(上)》,相信您已经对网络通信框架的网络通信层的实现原理和协议模型有了一定的认识和理解。整体框架如下图所示:对应的组件的基本功能和功能实现范畴。Boss线程:接受连接流程,主要负责接受外部请求,这些请求可能是来自用户的操作或是其他服务的调用。一旦接收到请求,boss会进行必要的处理,然后将请求分发给下面的线程池worker进行处理。Worker线程。原创 2024-01-29 16:07:49 · 1329 阅读 · 0 评论 -
【分布式技术专题】「探索高性能远程通信」基于Netty的分布式通信框架实现(附通信协议和代码)(上)
今天,我要向大家实现一个基于Netty实现的高性能远程通信框架!这个框架利用了 Netty 的强大功能,提供了快速、可靠的远程通信能力。无论是构建大规模微服务架构还是实现分布式计算,这个分布式通信框架都是一个不可或缺的利器。是Netty/***/@Skip@Override/***/@Skip@Override/***/@Skip@Override/***/@Skip@Override/***/@Skip@Override/***/@Skip。原创 2024-01-28 12:34:47 · 1432 阅读 · 0 评论 -
【分布式技术专题】「Zookeeper中间件」zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕竟万变不离其宗嘛。以上案例主要采用的是针对于log4j和slf4j的jar包进行相关的处理控制。参考相关的清理相关的jar包指令,可以采用rm / mv指令进行操作处理。下图为Linux版本的相关的jar包展示。原创 2024-01-27 16:31:17 · 1638 阅读 · 1 评论 -
【分布式技术专题】「分布式技术架构」 探索Tomcat集群架构原理和开发分析指南
比如,我们的登录的时候登录了A服务器,session信息存储到A服务器上了,假设我们使用的负载均衡策略是ip hash,那么登录信息还可以从A服务器上访问,但是这个有可能造成某些服务器压力过大,某些服务器又没有什么压力,这个时候压力过大的机器(包括网卡带宽)有可能成为瓶颈,并且请求不够分散。但这种方式些弊端,看过一些资料,不建议用session复制的方式。打个比方,我们有轮询,权重,地址散列,地址散列又分为原ip地址散列hash,目标ip地址散列hash,最少连接,加权最少连接,还有继续升级的很多种策略。原创 2024-01-23 10:33:51 · 1285 阅读 · 1 评论 -
【分布式技术专题】「分布式技术架构」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
Lifecycle 接口的方法的实现都在其它组件中,就像前面中说的,组件的生命周期由包含它的父组件控制,所以它的 Start 方法自然就是调用它下面的组件的 Start 方法,Stop 方法也是一样。Tomcat 中组件的生命周期是通过 Lifecycle 接口来控制的,组件只要继承这个接口并实现其中的方法就可以统一被拥有它的组件控制了,这样一层一层的直到一个最高级的组件就可以控制 Tomcat 中所有组件的生命周期,这个最高的组件就是 Server,而控制 Server 的是。原创 2024-01-23 10:28:43 · 1144 阅读 · 1 评论 -
【分布式技术专题】「分布式技术架构」 探索Tomcat技术架构设计模式的奥秘
Pipeline 就是连接每个子容器的管子,里面传递的 Request 和 Response 对象好比管子里流的水,而 Valve 就是这个管子上开的一个个小口子,让你有机会能够接触到里面的水,做一些额外的事情。Tomcat 中观察者模式也有多处使用,前面讲的控制组件生命周期的 Lifecycle 就是这种模式的体现,还有对 Servlet 实例的创建、Session 的管理、Container 等都是同样的原理。接口代表的是抽象主题,它定义了管理观察者的方法和它要所做的其它方法。原创 2024-01-22 14:51:05 · 1253 阅读 · 2 评论 -
【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南
Ø EasyExcel入口类,用于构建开始各种操作Ø ExcelReaderBuilder ExcelWriterBuilder 构建出一个 ReadWorkbook WriteWorkbook,可以理解成一个excel对象,一个excel只要构建一个Ø ExcelReaderSheetBuilder ExcelWriterSheetBuilder 构建出一个 ReadSheet WriteSheet对象,可以理解成excel里面的一页,每一页都要构建一个。原创 2024-01-18 19:22:52 · 1229 阅读 · 1 评论 -
【深入浅出RocketMQ原理及实战】「消息队列架构分析」帮你梳理RocketMQ或Kafka的选择理由以及二者PK
RocketMQ定位于非日志的可靠消息传输(日志场景也OK),目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景。RocketMQ的同步刷盘在单机可靠性上比Kafka更高,不会因为操作系统Crash,导致数据丢失。同时同步Replication也比Kafka异步Replication更可靠,数据完全无单点。原创 2024-01-18 19:15:15 · 1027 阅读 · 1 评论 -
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
通过之前的两篇文章《【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(上)》和《【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(中)》,您已经对微服务架构中常用的分布式事务解决方案有了初步的了解。接下来,我们将对这些解决方案进行综合分析和总结。在这两篇文章中,我们深入探讨了分布式事务的重要性和挑战,并介绍了几种常用的分布式事务解决方案,如两阶段提交、补偿事务和消息队列等。这些解决方案在不同的场景下具有各自的优势和适用性。原创 2024-01-15 17:09:58 · 1650 阅读 · 1 评论 -
【Dubbo3高级特性】「微服务云原生架构」带你从零基础认识搭建公司内部服务用户中心体系(实战指南-01)
用户中心,在我们的概念里面范围比较的广泛,包含了用户信息、账号信息以及租户信息的管理控制,在我们的总体设计里面,如果设计的边界较为紧密,也可以将权限的部分功能RBAC划分进入,当业务剧增的时候,可以将领域划分细一些。作为服务提供者的实现接口,将会有一个被:进行修饰的接口实现类主要面向与用户的注册账号功能(新增账号功能)主要面向与用户的注销账号功能(删除账号功能),并且清除该账号下所有的相关信息主要获取用户登录后,根据token以及相关的凭证获取相关的用户基本信息模型,作为系统全局的用户信息上下文。原创 2024-01-08 20:05:54 · 1505 阅读 · 0 评论