随笔分类 - 架构设计
摘要:前言 我们一般在做架构设计的时候,会经历过三个阶段:需求分析、概要设计和详细设计。 1. 需求分析阶段 : 主要梳理所有用例(Use case)和场景,并抽象出面向系统的用户与角色,梳理出需求提供哪些功能与非功能的需求给这些用户。 2. 概要设计阶段 :根据需求分析的产物:核心需求,对整个系统进行模
阅读全文
摘要:背景 随着公司业务的高速发展,公司服务之间的调用关系愈加复杂,如何理清并跟踪它们之间的调用关系就显的比较关键。线上每一个请求会经过多个业务系统,并产生对各种缓存或者 DB 的访问,但是这些分散的数据对于问题排查,或者流程优化提供的帮助有限。在这样复杂的业务场景下,业务流会经过很多个微服务的处理和传递
阅读全文
摘要:背景 一般来说大型互联网公司会把授权和用户信息的逻辑放到一个应用中,而这个应用我们统一称为用户中心。 用户中心不关心具体的业务逻辑,只处理用户信息相关的管理及授权登录。当第三方应用需要登录的时候,会把用户的登录请求转发到用户中心处理,处理完毕后,返回给第三方应用,第三方应用根据对应的凭证登录到系统内
阅读全文
摘要:当我们在做大促,类似于双十一的活动时候,老板就会跑过来问我们这些问题 这个时候,就体现出容量规划的重要性了。那到底什么是容量规划呢? 容量规划是以当前的性能作为基线,来决定你需要什么及什么时候需要 容量 VS 性能 性能:决定一辆车能装什么东西 容量:决定需要多少量车 容量规划可以分解为下面 4 个
阅读全文
摘要:背景 最近一直在思考,工作这么多年下遇到的分布式系统的一下问题,以及针对这些问题提供的解决方案。 借这个机会,顺便梳理清楚这块知识,希望同大家一起探讨下 常见一致性问题 下订单减库存 在我们做的电商系统中,会有这样的一个场景:用户下单购买某个商品,然后进行扣减商品库存的场景。 如果先下订单,然后扣减
阅读全文
摘要:前言 我们一般在做架构设计的时候,会经历过三个阶段:需求分析、概要设计和详细设计。 1. 需求分析阶段 : 主要梳理所有用例(Use case)和场景,并抽象出面向系统的用户与角色,梳理出需求提供哪些功能与非功能的需求给这些用户。 2. 概要设计阶段 :根据需求分析的产物:核心需求,对整个系统进行模
阅读全文
摘要:背景 公司业务由数以百计的分布式服务沟通,每一个请求路由过来后,会经过多个业务系统并留下足迹,并产生对各种缓存或者DB的访问,但是这些分散的数据对于问题排查,或者流程优化比较有限。对于一个跨进程的场景,汇总收集并分析海量日志就显得尤为重要。在这种架构下,跨进程的业务流会经过很多个微服务的处理和传递,
阅读全文
摘要:背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 1. 不能支持对语句级别的搜索,大量业务相关的属性根本无法实现 2. 没有任何搜索相关的指标评价体系 3. 扩
阅读全文
摘要:背景 在我们的日常开发中都涉及到使用tomcat做为服务器,但是我们该设置多大的线程池呢?以及根据什么原则来设计这个线程池呢? 接下来,我将介绍本人是怎么设计以及计算的。目标 确定tomcat服务器线程池大小具体方法 众所周知,tomcat接受一个request后处理过程中,会涉及到cpu和...
阅读全文

浙公网安备 33010602011771号