架构设计系列
文章平均质量分 86
架构设计工作中的实践和总结
白云coy
从0到1负责过千万级月活电商平台的系统重构和架构设计,月GMV从1亿到10亿+,QPS从5w到35w。Github开源项目l2cache的贡献者,Star数480+。做过电商平台、Saas平台、业务中台、聚合支付等行业赛道。
展开
-
8.架构设计系列:常用设计模式的实践
设计模式使代码编写真正工程化,它是软件工程的基石,如同大厦的一块块砖石一样。每种设计模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,因此在项目中合理地运用设计模式可以完美地解决很多问题,这也是设计模式能被广泛应用的原因。原创 2023-12-24 11:59:03 · 1233 阅读 · 0 评论 -
3.架构设计系列:高并发系统的设计目标
高并发确实是一个复杂且系统性的问题。因此,在做高并发设计时,同样要秉承架构设计的3个原则:简单、合适和演进。“过早的优化是万恶之源”,不能脱离业务的实际情况,更不要过度设计,合适的方案就是最完美的。另外,如果业务场景不同,高并发的落地方案也会存在差异,但是总体的设计思路和可借鉴的方案基本类似。原创 2023-12-24 11:49:53 · 1381 阅读 · 0 评论 -
6.架构设计系列:如何设计高可用架构
高可用架构是一种设计和架构方法,它旨在确保系统在面对各种故障、异常、硬件或软件问题,以及不可预测的事件下,继续提供稳定的服务。简单来说,高可用就是让我们的系统在任何情况下都尽最大可能能够对外提供服务。高可用架构追求提供连续的服务,不受单点故障、服务中断或其他问题的影响。这通常涉及到复制、冗余、负载均衡和自动故障转移等技术手段,以保持系统的稳定性和可用性。对于一个持续迭代、不断演进的系统而言,我们没有办法将故障发生的概率降为0,能做的只有尽可能的预防故障的发生,以及当故障发生后缩短故障的恢复时间。原创 2023-10-24 08:00:00 · 1106 阅读 · 0 评论 -
5.架构设计系列:如何设计高性能架构
要搞清楚什么是高性能架构,我们需先弄明白高性能是什么。高性能定义首先,性能是什么,怎么理解它?简单来说,性能,指的是一件事务的处理能力。那么,什么是高性能呢?高性能,指的是处理一件事务的速度更快,所消耗的资源更少。高性能架构那么,什么是高性能架构呢?高性能架构,是指在有限的资源投入下,通过采用适当的技术和策略,让系统具备了优秀的性能。对于技术人员来说,在有限的资源投入下,如何提高系统性能,这是一个挑战,更是一个机遇。原创 2023-10-06 22:43:23 · 2376 阅读 · 0 评论 -
4.架构设计系列:如何设计可扩展架构
可扩展性的本质,是系统为了应对将来的需求变化,而提供的一种扩展能力。当有新的需求出现时,系统不需要或者仅需要少量修改就可以支持,无须整个系统重构或者重建。切记,不要过度预测,不要过度封装。原创 2023-09-18 08:00:00 · 985 阅读 · 0 评论 -
2.架构设计系列:几个常用的架构设计原则
在实际工作中,我们应以业务需求为导向,根据时间、资源和团队状况,做出权衡和决策。这对于构建一个好的架构设计来说至关重要。原创 2023-08-30 11:05:52 · 479 阅读 · 0 评论 -
7.架构设计系列:如何应对软件变化
如何应对软件变化?核心思想是:识别变化,封装变化,扩展变化。一个容易应对变化的软件设计应该遵从:高内聚低耦合原则。因此,我们应以实际需求变化来帮助我们识别变化,管理变化。原创 2023-08-18 18:25:07 · 494 阅读 · 0 评论 -
1.架构设计系列:什么是架构设计
架构设计,就是对系统结构进行设计。那么,系统结构是什么呢?它包括子系统、模块、组件,以及他们之间的协作关系。架构设计是经过系统性地思考,权衡利弊之后,在现有资源约束下的最合理决策。架构设计为开发团队提供了一个指导框架,确保系统在不断变化的环境中,能够保持稳定和可靠。在实际工作中,我们应以业务需求为导向,根据时间、资源和团队状况,做出权衡和决策。这对于构建一个好的架构设计来说至关重要。原创 2023-08-11 11:33:31 · 1130 阅读 · 0 评论 -
开发设计实践:分库分表实现方案
概要首先,我们来思考下面几个问题:1、分库分表的常见方案有哪些?2、基于什么维度来做分库分表?3、分库分表之后带来了什么新的问题?下面将基于上面的问题来进行分析:分库分表方案分库分表的目的是达到垂直或水平切分的目的,切分数据使其分布到不同的库或表上。最关键的点就是路由算法,把分片键(路由的key)按照指定的路由算法进行路由存放。1、范围法 - range范围范围法对分片键按照范围进行切分,将数据切分到不同的数据库或表上去。优点:1)切分策略简单,根据分片键,按照范围,能够快速定位到原创 2020-07-17 09:52:19 · 4155 阅读 · 4 评论 -
负载均衡类型
负载均衡 分为两大类: 集中式负载均衡 或 客户端负载均衡 。1、集中式负载均衡集中式负载均衡通俗的讲就是通过一个独立的程序来路由转发请求,一般称之为负载均衡器或网关。如:硬负载(F5)、软负载(Nginx、阿里 SLB 等)2、客户端负载均衡在客户端组件中实现负载均衡逻辑,将请求通过负载均衡算法路由到某个服务。【客户端服务列表来源】:客户端定时从注册中心拉取,或者由注册中心推送。如:微服务体系 Dubbo 、Spring Cloud 都提供了客户端负载均衡实现。...原创 2020-06-11 10:30:36 · 1264 阅读 · 0 评论 -
关于中台架构的理解
谁能干就让谁干!!!中台架构的本质中台架构的本质是平台思维。是将企业的核心能力随着业务发展沉淀到平台,形成以服务为中心,由业务中台和数据中台构建起数据闭环运转的运营体系,供业务更高效的进行业务探索和创新,实现以数字化资产的形态构建企业核心差异化竞争力。如何判断一个企业需不需要上中台?1、是否是大型复杂生态系统?中台战略解决复杂生态系统的治理问题。如果不是复杂生态系统,或许管理系统更合适。2、是否业务具备不确定性?大中台、小前台,具备快速试错、快速反应能力。如果你的业务场景变化不大,也许原创 2020-06-19 14:55:31 · 1148 阅读 · 0 评论 -
开发设计实践:一个优雅的支付网关路由设计方案
简介本文的核心主题是关于一个优雅的支付网关的设计方案是如何设计出来的。结合项目实战,后续会将支付网关的核心逻辑从项目中剥离出来并实现开源,以供参考。不同公司接入的第三方支付可能不一样,有的直连微信和支付宝,有的接入聚合支付通道,所以请将关注点重点放在设计方案这个层面,因为设计思想可以复用到别的场景,而代码则不一定适用。做一个有灵魂的码农。划重点,先上整体演进图:下面将详细介绍随着业务的发展,是如何一步一步演进出最后的设计方案的,具体如下:1、阶段一:青铜青铜,一顿操作猛如虎,以一个类走天下原创 2021-09-29 12:45:06 · 4687 阅读 · 1 评论 -
我的8个开发原则
核心:编程的本质在于控制复杂度。原创 2021-05-27 17:08:00 · 152 阅读 · 0 评论