zoukankan      html  css  js  c++  java
  • 分布式系统

    什么是分布式系统

    单体:所有的代码在一个工程中,最多拆分模块打成jar引用或者maven拆分成代码工程模块,将不同的代码放在不同的工程代码中
    分布式:分而治之思想,讲义个庞大的系统拆分成很多小的系统,甚至是很多小的服务,不同的系统之间通过接口相互调用,每个子系统有个子的数据库
    微服务:将服务拆分成多个小的服务,不同服务之间进行调用

    什么是CAP

    CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
    一致性(C):分布式系统中所有的数据备份,在同一时刻是否是同样的值
    可用性(A):在集群中的一部分节点故障后,集群整体是否还能响应客户短的请求
    分区容错性(P):不同分区的服务之间是否能够调用(这个必须实现)
    dubbo保证AP springcloud保证CP

    分布式系统常见问题

    1. 框架选择:目前流行的dubbo和springcloud
    2. 分布式事务:一旦系统拆分成几个子系统,那么贯穿全局的分布式事务用该怎么处理?(TCC、最终一致性、2PC)
    3. 分布式锁:不同系统之间争抢同一资源,怎样保证资源的同步
    4. 分布式缓存:很多子系统要共用同一个缓存问题(Redis)
    5. 分布式消息:多个子系统之间传递消息要怎么做(消息中间件MQ)
    6. 分布式搜索系统:单体系统中可以在本地基于Lencene开发一个全文搜索模块,但是在分布式系统中呢?你需要在系统里引入一个外部的分布式搜索系统,比如Elasticsearch
    7. 其他问题:比如说分布式配置中心、分布式日志中心、分布式监控告警中心、分布式会话,等等,都是分布式系统场景下你需要使用和了解的一些技术。
    8. 系统部署问题:子系统过多,怎么部署
  • 相关阅读:
    ZOJ-3230-Solving the Problems
    zoj-3410-Layton's Escape
    cin输入超过文本末尾
    sizeof('a')
    WPF TranslatePoint/TransformToVisual 总返回零
    Lock-free multi-threading
    c++0X 用字符串调用函数
    Vim 的c++语法补齐
    Reentrancy VS Thread safe
    内存屏障
  • 原文地址:https://www.cnblogs.com/monkay/p/11950825.html
Copyright © 2011-2022 走看看