摘要:
★ 微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 1 微服务的注册与发现 我们前面在全景架构中对服务注册与发现做了大致的说明,本章我们着重详细说明微服务下注册与发现的这个能力。 微服务注册与发 阅读全文
摘要:
1 介绍 前面的文章我们介绍了分布式系统和它的CAP原理:一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。参考这篇《分布式事务》 我们知道,一个分布式系统无法同时满足三个特性,所以在设计系统之初,就有一个特性要被妥协和牺牲, 阅读全文
摘要:
★ 微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 前面我们学习了微服务的全景架构,了解到相对于传统单体架构,微服务的优势,以及系统服务化的发展趋势。 对于新启动的项目,我们在权衡之后可以大方的 阅读全文
摘要:
1 背景 我们的云办公系统有一个会议预定模块,每个月最后一个工作日的下午三点,会启动对下个月会议室的可用预定。 公司的会议室大约200个,但是需求量远不止于此,所以会形成会议室抢订的场面(抢订大军为行政助理、人事助理、开发经理、产品运营等对会议室有刚性需求的人)。 程序团队,经常会接到投诉,A同学和 阅读全文
摘要:
★ 微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 1 微服务优势与挑战 1.1 微服务的优势 1.1.1 单一职责 微服务架构中的每个节点高度服务化,都是具有业务逻辑的,符合高内聚、低耦合原则 阅读全文
摘要:
1 关于分布式系统 1.1 介绍 我们常见的单体结构的集中式系统,一般整个项目就是一个独立的应用,所有的模块都聚合在一起。明显的弊端就是不易扩展、发布冗重、服务治理不好做。 所以我们把整个系统拆分成若干个具备独立运行能力的计算服务的集合,而从用户的角度看,是一个完整的系统,但实际上,它是一个分布式服 阅读全文
摘要:
★ 微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 1 传统单体系统介绍 在很多项目的业务初期阶段,高速迭代上线是首要考虑的事情,对后期的容量预估、可扩展性和系统健壮性、高可用一般没有那么重视。 阅读全文
摘要:
1 真实案例 云办公系统用户实时信息查询功能优化发布之后,系统发生宕机事件(系统挂起,页面无法加载)。 1.1 背景 我们IM原有的一个功能,当鼠标移动到用户头像的时候,会显示出用户的基本信息。信息比较简单,只包含简单的用户名、昵称、性别、邮箱、电话等基本数据, 这是一个典型的数据查询,大概过程如下 阅读全文
摘要:
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括了 垂直拆分(Scale Up 纵向扩展)和 水平拆分(Scale Out 横向扩展) ,同时简要整理了水平分区的几种策略,现在来回顾一下。 2 水平分区的5种策略 2.1 Hash(哈希) 这种策略是通过对表的一个或多个列的Hash Ke 阅读全文
摘要:
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。为了解决这个问题,行业先驱门充分发扬了分而治之的思想,对大库表进行分割,
然后实施更好的控制和管理,同时使用多台机器的CPU、内存、存储,提供更好的性能。而分治有两种实现方式:垂直拆分和水平拆分。 阅读全文