系统设计
文章平均质量分 84
系统架构设计
qxlxi
21届本,后端工程师 (专注于Java、Go、数据库、缓存、消息队列、网络、OS、算法、软件设计、DevOps、云原生、大数据、分布式系统架构设计等)
展开
-
【分布式系统架构】架构演进方案
架构演进方案原创 2023-04-16 20:48:21 · 728 阅读 · 0 评论 -
【左神算法】全球id设计问题
1.问题设计一个针对全球的、访问量极大的id生成系统。必须保证用户每次从该系统得到的id是唯一的,而且在概率上毫无碰撞可能。2.解决在国际服务器上设定一个startID,比如 中国服务器需要100亿的id,那么设定一个range,startID-1000亿之间。让中国子服务器在这个范围之内随机生成,而国际服务器只需要考虑startID和Range范围。生成id的业务交给下游的子服务器去完成,很大程度上避免了国际服务器的压力,也保证了id的唯一性。...原创 2020-07-01 10:11:41 · 357 阅读 · 0 评论 -
【架构那些事】java后端技术
偶然间看到一篇博客写的 就转载一下。服务框架:Dubbo,zookeeper,Rest服务缓存:redis,ehcache消息中间件:ActiveMQ,kafka负责均衡:Nginx分布式文件:FastDFS安全框架:Apache shiro任务调度:quartz持久层框架:mybatis日志:log4j项目基础搭建。spring,springmvc,环境搭建:linux下...转载 2018-12-30 23:12:11 · 295 阅读 · 0 评论 -
【系统设计】分布式系统架构设计
1.目录到底什么是架构设计系统架构的演化发展架构设计形式与方法架构的一些实践经验总结回顾与作业实践2.到底什么是架构设计什么是架构(Architecture)架构(Architecture)一词源于建筑领域,就是建筑的意思,也是体系结构的意思。 维基百科英文版里对Architecture的解释是:规划、设计和建造建筑物的过程及产物。Architect/Architecture ?软件工程 ~ 建筑工程人的因素,标准的因素,技术的因素,产品的因素,,,软件边际成本是0。什原创 2022-01-10 23:18:37 · 2473 阅读 · 0 评论 -
【架构那些事】JavaWeb项目前后端分离
前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。核心思想是前端html页面通过ajax调用后端的r...转载 2018-12-23 14:36:03 · 1061 阅读 · 0 评论 -
【分布式系统】4.分布式系统之消息队列
1.消息队列 在分布式系统中,消息系统的应用十分广泛,消息可以作为应用间通信的一种方式,消息被保存在队列中,直到被接收者取出,由于消息发送者不需要同步等待消息接收者的响应,消息的异步接收降低了系统集成的耦合度,提升了分布式系统协作的效率,使得系统能够更快的响应用户,提供更高的吞吐,当系统处于峰值压力时,分布式消息队列还能够作为缓冲,削峰填谷,缓解集群的压力,避免整个系统被压垮。...原创 2020-03-21 13:24:10 · 821 阅读 · 1 评论 -
【分布式系统】1.大型分布式网站演变及SOA的通信协议和远程调用
1.特点在我看来一共两个维度。一是访问量 二是海量数据。2.架构演进2.1 单一架构 一个简单的电商网站,通常都是进行模块划分,而所有的模块都在一个系统里面。All In one 部署在单个tomcat 服务器上,模块之间的调用都是属于进程之内的调用。因此,就技术架构来说,实现相对与分布式架构容易,但是也存在缺陷,比如随着业务的发展,模块之间耦合度较高,部署上线...原创 2020-03-19 22:23:09 · 366 阅读 · 1 评论 -
【分布式系统】2.SOA软件体系之服务路由和服务治理
1.服务路由 SOA架构中,服务消费者通过服务名称,在众多服务中找到要调用的服务的地址列表,称作为服务的路由。2.服务负载均衡 对于负载较高的服务来说,往往对应着由多台服务器组成的集群。在请求到来时,为了将请求均衡地分配到后端服务器,负载均衡程序将从服务对应的地址列表中,通过相应的负载均衡算法和规则,选取一台服务器进行访问,这个过程称为...原创 2020-03-20 13:19:31 · 1193 阅读 · 1 评论 -
【分布式系统】3.分布式系统基础设施之缓存与持久化存储
1.分布式系统的基础设施 一个大型的稳健成熟的分布式系统的背后,往往会涉及众多的支撑系统,我们将这些支撑系统称为分布式系统的基础设施。除了前面所介绍的分布式协作及配置管理系统zookeeper之外,我们进行系统架构设计所依赖的基础设施,还包括分布式缓存系统、持久化存储、分布式消息系统、搜索引擎,以及CDN系统、负载均衡系统、运维自动化系统等等,还有后面章节所要介绍的实时计算系统、离...原创 2020-03-20 22:02:12 · 1423 阅读 · 1 评论 -
【系统设计】如何设计一个秒杀系统
目录从架构师视角出发具体要做哪些事情功能性和非功能性如何编写设计文档如何考虑技术选型其他相关设计要点1.从架构师视角出发像架构师一样思考问题 为什么要做秒杀?为什么秒杀难做?秒杀的本质业务上:一场营销促销活动,具有明确的活动业务特点技术上:一种主动DDos攻击,具备技术的不确定性和复杂度早期的秒杀怎么做早期的单体系统,不具备很好的扩展性,一有突发流量就挂。那么如何实现抗住较大的突发压力呢?最开始大家是真不知道,摸石头过河。大促宕机时常态。技术上有哪些优化办法1.丢弃原创 2022-01-11 23:14:02 · 580 阅读 · 0 评论