架构设计基础
huang714
不断的学习,充实自己。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式服务与库表设计
一、服务间隔离1、分布式结构 分布式系统架构的明显特点,就是按照业务系统的功能,拆分成各种服务,每个服务下面都有自己独立的数据库,以此降低业务间的耦合度,隔离不同的数据库保证系统最大的稳定性等。 例如上图是电商系统中经典的业务场景,订单-仓储-物流的服务模式,不同服务提供不同的应用场景,服务间存在通信机制,以此实现服务的高可用。2、隔离思想分布式的架构体系中,涉及一个根本思想逻辑:隔离;服务和数据库根据业务拆分,进而隔离开来,整个架构中某个服务挂掉,不会影响其他的...原创 2020-09-29 08:46:10 · 395 阅读 · 0 评论 -
架构设计 分布式系统调度,Zookeeper集群化管理
一、框架简介1、基础简介Zookeeper基于观察者模式设计的组件,主要应用于分布式系统架构中的,统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等场景。Linux系统下搭建ZooKeeper3.4中间件 SpringBoot2 整合 Zookeeper组件,管理架构中服务协调2、集群选举Zookeeper集群基于半数机制,集群中半数以上机器存活,集群处于可用状态。所以建议Zookeeper集群安装为奇数台服务器。在集群的配置文件中并没有指定Master和Sla原创 2020-09-28 08:56:13 · 207 阅读 · 1 评论 -
架构设计 异步处理流程,多种实现模式详解
一、异步处理1、异步概念异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。必须强调一个基础逻辑,异步是一种设计理念,异步操作不等于多线程,MQ中间件,或者消息广播,这些是可以实现异步处理的方式。同步处理和异步处理相对,需要实时处理并响应,一旦超过时间会结束会话,在该过程中调用方一直在等待响应方处理完成并返回。同步类似电话沟通,需要实时对话,异步则类似短信交流,发送消息之后无需保持等待状态。2、异步处理优点虽然异步处理不能实时响应,但是原创 2020-09-27 09:17:17 · 871 阅读 · 0 评论 -
架构设计 分布式业务系统中,全局ID生成策略
一、全局ID简介在实际的开发中,几乎所有的业务场景产生的数据,都需要一个唯一ID作为核心标识,用来流程化管理。比如常见的:订单:order-id,查订单详情,物流状态等; 支付:pay-id,支付状态,基于ID事务管理;如何生成唯一标识,在普通场景下,一般的方法就可以解决,例如:import java.util.UUID;public class UuidUtil { public static String getUUid() { UUID uuid = UUI原创 2020-09-27 09:16:11 · 236 阅读 · 0 评论 -
架构设计 缓存管理模式,监控和内存回收策略
一、缓存设计1、缓存的作用在业务系统中,查询时最容易出现性能问题的模块,查询面对的数据量大,筛选条件复杂,所以在系统架构中引入缓存层,则是非常必要的,用来缓存热点数据,达到快速响应的目的。缓存使用的基本原则:所有缓存数据,必须设置过期时间; 核心业务流程不通过缓存层; 缓存层移除,不影响现有流程; 系统各个端首页数据不实时查询; 报表数据不实时查询加载; 归档数据(定时统计的结果数据)不实时查询;这里是业务架构中常用的缓存策略,缓存通过牺牲强一致性来提高性能,所以并不是所有的业务原创 2020-09-27 09:15:33 · 247 阅读 · 0 评论 -
架构设计基础:单服务.集群.分布式,基本区别和联系
一、分布式简介1、架构简介现在的互联网,几乎常见的复杂系统都会使用分布式架构,如果在不清楚概念之前,刚接触分布式架构这个名词会感觉十分的高大上,其实在对比单服务,集群服务之后,你就会发现本质上都是一样的。絮叨一句:所谓Java架构师,基本就是看被单服务,集群,分布式不断暴打的频率,架构师因为被虐频率高,自然做出来的系统架构坑少,新手不能做架构的原因,所以你该懂的。言归正传,分布式架构对于Java开发来说基本算是分水岭,能不能从开发层面跳出来,就看你工作个三五年之后,对分布式系统理解到什么程度原创 2020-09-27 09:14:44 · 537 阅读 · 0 评论
分享