架构
大叔编程
这个作者很懒,什么都没留下…
展开
-
分布式任务调度框架--xxl-job
解决问题1.多台机器集群部署如何保障不重复执行(分布式锁等)2.不重启服务的情况下 动态调整执行时间3.发生故障时实现故障转移4.对定时任务进行监控5.业务量比较大时,单机性能的瓶颈 如何扩展常用分布式任务调度框架TBSchedule:淘宝推出的开源分布式任务调度系统Elastric-Job:当当网推出Saturn:唯品会推出XXL-JOB:美团点评Google Cron:google推出xxl-job基于netty自研rpc通讯分布式锁任务概念...原创 2020-07-22 14:38:00 · 131 阅读 · 0 评论 -
zookeeper
分布式单体应用tomcat实例1商品应用服务订单应用服务分布式应用tomcat实例1商品应用服务tomcat实例1订单应用服务zookeeper分布式协调服务分布式数据一致性解决方案a取钱在db1里扣掉了取出的钱a查询余额,调用的是db2的服务此时就需要db1与db2的数据保持一致强一致性:db2要实时与db1一致,否则不提供服务最终一致性:db2最终与db1一致应用场景配置中心日常配置文件都存在本地,随着集群数量越来越多,每次修改配置将会变的异常困难。将配置信息存放在zk原创 2020-07-17 18:50:06 · 87 阅读 · 0 评论 -
亿级用户中心设计
数据库水平切分范围法优点根据uid,1000万存db1,1000-2000万存db2,切分策略简单、扩容简单缺点uid必须自增数据量不均,如新增db3 初期数据特别少请求量不均,可能存在活跃用户都在某一台db上哈希法优点切分策略简单,根据uid,按照hash很快定位到哪个库上数据量均衡,uid是随机的请求量均衡,uid是随机的使用分布式id生成器,id一定是随机的缺点扩容麻烦,增加一个库,会导致重新hash双倍扩容策略采用双倍扩容策略,避免数据迁移。扩容前每个节点的数据,有原创 2020-07-15 14:21:32 · 644 阅读 · 0 评论 -
webapi、webservice、一般处理程序(ashx)
webapi用的是http协议,webservice用的是soap协议,webapi无状态,相对webservice更轻量级。Web Service1、它是基于SOAP协议的,数据格式是XML2、只支持HTTP协议3、它不是开源的,但可以被任意一个了解XML的人使用4、它只能部署在IIS上WCF1、这个也是基于SOAP的,数据格式是XML2、这个是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.3、WC转载 2020-07-01 12:01:34 · 3415 阅读 · 0 评论 -
名词解释
SOA将程序的不同功能单元(称为服务),通过这些服务间订立接口规范联系起来,服务与平台无关、与语言无关、与操作系统无关。应用场景初期项目比较小时,一个系统就能满足需求;中期随着项目越来越复杂,我们将进行库拆分、功能拆分,各服务间通过接口相互调交互;但随着子模块越来越多,调用也变的凌乱,难管理。后期使用SOA架构,也叫服务治理,SOA帮我们把服务间乱七八糟的关系治理起来,将服务之间进行的交互,变为服务只与数据总线进行交互。数据总线数据总线起到调度服务的作用,数据总线不是集成服务,更像是一个原创 2020-07-01 11:16:31 · 270 阅读 · 0 评论 -
单体架构、SOA架构、微服务架构
单体架构指单个应用程序部署优点开发简单直接;没有分布式管理开销;缺点代码耦合在一起,维护难;缺乏稳定性,任何一个小问题 可能导致整个应用挂掉;扩展性不足,无法满足高并发场景;SOA架构优点模块拆分,独立部署;通过接口进行通信,降低耦合;缺点模块之间需要远程通信;增加开发工作量;微服务是否选择微服务取决于你要设计的系统的复杂度。微服务是用来把控复杂系统的,但是随之而来的就是引入了微服务本身的复杂度。需要解决包括自动化部署、监控、容错处理、最终一致性等其他分布式系统面临的问题。原创 2020-07-01 10:15:02 · 161 阅读 · 0 评论