Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念、优缺点和适用场景,想要深入的了解,还需要投入更多的时间。

分布式架构和单体应用架构相比,可以充分利用多机器的性能优势,提高了系统的高可用性,越来越多的企业选择转向分布式架构,但是从单体架构转向分布式架构,会有哪些难点呢?

标准化难度高

大部分企业的系统很多,比如我们单位目前就有七百多个系统,首先就是标准化的问题。开发语言、中间件、数据库、通讯协议、数据格式都不统一,不同的语言就会有不同开发、测试、运维的流程标准,增加了开发、运维各个环节的复杂度。

比如老系统大多数都采用WebService+XML的接口,新系统大多都是Restful+JSON,这种就很难统一,那么也就增加了监控、服务调度的难度。

服务依赖性问题

单体应用架构中,机器挂了整个系统就挂了,在分布式架构下,也会有类似的问题,因为我们的系统,大多数时候都是有依赖的;A->B,C->B,如果B挂了,A和C实际上也是不能工作的。

如果非关键业务被关键业务依赖,那么非关键业务也就变成了关键业务。

很多企业做分布式改造的时候,只对服务进行了拆分,但是并没有拆分数据库,这也是很危险的,因为非关键业务把库拖垮了,依赖这台数据的关键业务同样也Down掉了。

故障概率更大、运维复杂

因为分布式架构下,应用更多,机器更多,所以故障率一定会比单体架构要高。

而且在分布式架构中,一次线上问题的排查,会涉及N多个应用,所以问题的排查和解决时间会比较长。

故障无法避免,好的分布式架构,都需要考虑减轻故障影响面,有自动化的方式监控、甚至恢复故障。

java分布式架构_Java学习五分钟系列:从单体架构转向分布式架构的难点相关推荐

  1. vector 插入_Java学习五分钟系列:对比Vector、ArrayList、LinkedList

    Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念.优缺点和适用场景,想要深入的了解,还需要投入更多的时间. Java的集合类,值得我们深入的学习,建议大家有时间的话,可以阅读一下源 ...

  2. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    [正文开始] 上文接<sed的流艺术之三>-linux命令五分钟系列之二十三 例十 如果设定了很多-e的command,它们的执行顺序是怎样的呢? [rocrocket@rocrocket ...

  3. 《神探tcpdump第五招》-linux命令五分钟系列之三十九

    == [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...

  4. Java菜鸟起飞日记-每天五分钟(Hello World)

    Today,沈叔的Java菜鸟起飞日记-每天五分钟就正式开博了 其实本来是没有打算写这样一个东西的,不过就近来发现自己的学习状态存在很大的问题,很多东西都开始遗忘,于是乎,为了证明自己学过,还是用这样 ...

  5. 《gcc五分钟系列》第六节:编译期符号检查

    <gcc五分钟系列>第六节:编译期符号检查 上一节,我们说了从源文件到目标文件的编译过程.这一节,我想讨论一下编译期符号检查的问题.     请原谅我实在不知道如何翻译"refe ...

  6. 在不同领域,大家用爬虫怎么盈利的-Java网络爬虫系统性学习与实战系列(4)

    在不同领域,大家用爬虫怎么盈利的-Java网络爬虫系统性学习与实战系列(4) 文章目录 概述 出行抢票软件 微博上的僵尸粉 电商比价/返利平台 社区抓取数据和内容 联系方式 系列文章地址: Java网 ...

  7. 了解爬虫的风险与以及如何规避风险-Java网络爬虫系统性学习与实战系列(3)

    了解爬虫的风险与以及如何规避风险-Java网络爬虫系统性学习与实战系列(3) 文章目录 概述 法律风险 民事风险 刑事风险 个人信息的法律风险 著作权的风险(文章.图片.影视等数据) 5不要 3准守 ...

  8. 《gcc五分钟系列》基础部分结束

    <gcc五分钟系列>基础部分结束 我把常用的编译选项都已经介绍完了.     本系列打算休息一段时间. 转载于:https://blog.51cto.com/elephantliu/828 ...

  9. 常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10)

    常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10) 文章目录 联系方式 反爬虫策略 文本混淆 SVG映射 CSS文字偏移 图片混淆伪装 字体反爬 Referer字段反爬 数据分 ...

最新文章

  1. Timus 1837. Isenbaev's Number
  2. 在Delphi程序中操作注册表
  3. layui 刷新页面_layuimini简洁、清爽、易用的layui后台框架模板
  4. poj 2486 树形dp
  5. ruby 发送post请求_使用Ruby发送电子邮件
  6. USACO-Section1.4 Wormholes(枚举法)
  7. 数据结构--循环队列
  8. pytorch nn.Softmax
  9. 接口测试工具Postman接口测试图文教程
  10. 模板点击通过sql获得值 举例说明
  11. 在ubuntu16.04下安装opencv3.4.5(超详细)
  12. VScode设置中文界面
  13. 锁php_基于 Redis 实现分布式锁及对应的 PHP 实现源码
  14. 【windows】win10录屏录屏内声音
  15. 如何看待“大数据杀熟”现象(个人观点,仅供参考)
  16. 计算机二级答题技巧口诀,计算机二级考试复习技巧:考场答题经验分享
  17. Exception at 0x7fefd73a49d, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continue
  18. vlc-android源码git下载
  19. ngrok使用/踩坑分析-http代理
  20. Android rom开发:最完整的截屏方案(支持全屏截屏+区域截屏)

热门文章

  1. cif和cip的区别_CIF和CIP到底有什么区别啊?
  2. Excel如何把横向表格变为竖向
  3. rsyslogd 重启_RE: 服务器定时重启
  4. python 共享文件_只要一行Python代码,就能搭建一个共享文件局域网服务器
  5. 珠宝VIP客户该怎么管理?
  6. 在复杂世界,寻找简单而普遍的规律!世界区块链大会新添10位重磅嘉宾
  7. 【glib】Key-value文件解析器
  8. 宇宙是设计好的,结构像齿轮一样精准
  9. 运营级大秀/打赏/带支付+视频教程
  10. r 语言 处理栅格数据