分布式 CAP、BASE理论

一 CAP理论:

Consistency          一致性      (顾名思义确保数据一致,不允许出现两台及以上服务上数据不一致)

Availability             可用性      (在集群中一部分节点故障后,是否还能响应客户端的读写请求)

Partition tolerance  容错性   (允许出错率的大小,允许出错率大则程序可以正常执行不会报错)

三角形定理,三者只可以满足2者。不要去浪费时间去解决满足三者 这个是不可能是实现的。从业务的角度上考虑满足两者就好。

 

二 BASE 理论:

基本可用:  当出现未知问题时 查询由1s变成2s 降级页面 (当前访问量过多)

软状态: (状态机)待支付、交易处理中、交易成功、交易失败

最终数据一致性: 基于MQ生产、消费 。 如果出现数据丢失就需要人工维护

 

三 领域驱动设计中的概念

领域:专业的业务流程处理

领域建模:DDD (De-bug -DDrivne Development)

1 界限上下文

2 实体、值对象(context)、领域服务、聚合根、资源....

        实体:对象的唯一标识

        值对象:不需要唯一标识描述 类似上下文传递内容 他是个值对象

        领域服务:不同的领域,每个领域提供对应的服务,可供外部调用。

        集合根:可以理解为全局中的唯一标识,实体是局部唯一标识,聚合根是全局唯一标识。

        资源:提供了基础设施的查询,和聚合化服务,关心领域类的模型,是介于领域和数据库层之间的分层。而不是封装数据库层。

                  

分布式高可用设计:

1 避免单点故障

    a) 负载均衡技术(failover/选址/硬件负载)

    b)热备(Linux HA)

    c)多机房(同城灾备,异地灾备)

2 应用的高可用设计

   a) 故障监控(系统监控,CPU、内存),链路监控,日志监控)自动预警

   b)应用的容错设计 (服务降级处理、限流处理)自我保护

   c)数据量(数据分片、读写分离)

3 分布式架构的可伸缩设计

   a)垂直伸缩  单独服务器上硬件扩容 加内存加存储

   b)  水平伸缩   增加服务器

#### 多补充一个CDN  解决不同地区的ip 发出的请求得到服务器负载响应的分发内容处理(内容分发)

CDN可以缓存静态数据(html、css、img、js等静态文件)

比如客户端是在广州发出的请求  CND可以解析DNS 进行里负载 判断里用户最近的CDN服务器将内容进行返回给客户端。具体的使用可以多找找资料进行了解

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值