![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构设计
会点代码的大叔
这个作者很懒,什么都没留下…
展开
-
【从单体架构到分布式架构】(二)请求增多,单点变集群(1):负载均衡
上一个章节,我们搭建了一个最简单的单体服务项目,单体架构就是把所有的功能都放在一个工程项目中。但是当访问量不断增加,我们只部署一套环境就有些吃不消了,这时候有什么解决方案么?如果我们去一个超市购物,当客户数量不多的时候,超市只开通一个结账通道就可以满足需要,但是当客户数量增加,只有一个结账通道的话,会造成客户等待时间过长,最简单的解决方法就是多开几个结账通道。在软件架构中也会有相似的问题:如果项目的用户量少、访问量不大、数据量也不多的时候,一台服务器足以支撑,那么直接项目部署一套,直接访问使用就可原创 2020-06-07 09:53:50 · 686 阅读 · 0 评论 -
如何在分布式场景下生成全局唯一 ID ?
在分布式系统中,有一些场景需要使用全局唯一 ID ,可以和业务场景有关,比如支付流水号,也可以和业务场景无关,比如分库分表后需要有一个全局唯一 ID,或者用作事务版本号、分布式链路追踪等等,好的全局唯一 ID 需要具备这些特点:全局唯一:这是最基本的要求,不能重复;递增:有些特殊场景是必须递增的,比如事务版本号,后面生成的 ID 一定要大于前面的 ID ;有些场景递增比不递增要好,因为递增有利于数据库索引的性能;高可用:如果是生成唯一 ID 的系统或服务,那么一定会有大量的调用,那么保证其高可用就非原创 2020-06-02 20:30:06 · 377 阅读 · 0 评论 -
一个接口查询关联了十几张表,响应速度太慢?那就提前把它们整到一起
不知道开发的同学有没有遇到过类似这样的需求:相同类型的数据在多个系统中,如果要得到全部的信息,就要连续调多个系统的接口;业务复杂,一个需求需要关联几张表甚至几十张表才能得到想要的结果;系统做了分库分表,但是需要统计所有的数据。那么此类需求要如何满足呢?我们选择了“通过 ETL 提前进行数据整合”的方案。什么是 ETL说到ETL,很多开发伙伴可能会有些陌生,更多的时候 ETL 是用在大数据、数据分析的相关岗位;我也是在近几年的工作过程中才接触到ETL的,现在的项目比较依赖 ETL,可以说是项目原创 2020-05-30 22:33:28 · 1604 阅读 · 0 评论