java分布式架构_Java学习五分钟系列:从单体架构转向分布式架构的难点
Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念、优缺点和适用场景,想要深入的了解,还需要投入更多的时间。
分布式架构和单体应用架构相比,可以充分利用多机器的性能优势,提高了系统的高可用性,越来越多的企业选择转向分布式架构,但是从单体架构转向分布式架构,会有哪些难点呢?
标准化难度高
大部分企业的系统很多,比如我们单位目前就有七百多个系统,首先就是标准化的问题。开发语言、中间件、数据库、通讯协议、数据格式都不统一,不同的语言就会有不同开发、测试、运维的流程标准,增加了开发、运维各个环节的复杂度。
比如老系统大多数都采用WebService+XML的接口,新系统大多都是Restful+JSON,这种就很难统一,那么也就增加了监控、服务调度的难度。
服务依赖性问题
单体应用架构中,机器挂了整个系统就挂了,在分布式架构下,也会有类似的问题,因为我们的系统,大多数时候都是有依赖的;A->B,C->B,如果B挂了,A和C实际上也是不能工作的。
如果非关键业务被关键业务依赖,那么非关键业务也就变成了关键业务。
很多企业做分布式改造的时候,只对服务进行了拆分,但是并没有拆分数据库,这也是很危险的,因为非关键业务把库拖垮了,依赖这台数据的关键业务同样也Down掉了。
故障概率更大、运维复杂
因为分布式架构下,应用更多,机器更多,所以故障率一定会比单体架构要高。
而且在分布式架构中,一次线上问题的排查,会涉及N多个应用,所以问题的排查和解决时间会比较长。
故障无法避免,好的分布式架构,都需要考虑减轻故障影响面,有自动化的方式监控、甚至恢复故障。
java分布式架构_Java学习五分钟系列:从单体架构转向分布式架构的难点相关推荐
- vector 插入_Java学习五分钟系列:对比Vector、ArrayList、LinkedList
Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念.优缺点和适用场景,想要深入的了解,还需要投入更多的时间. Java的集合类,值得我们深入的学习,建议大家有时间的话,可以阅读一下源 ...
- 《sed的流艺术之四》-linux命令五分钟系列之二十四
[正文开始] 上文接<sed的流艺术之三>-linux命令五分钟系列之二十三 例十 如果设定了很多-e的command,它们的执行顺序是怎样的呢? [rocrocket@rocrocket ...
- 《神探tcpdump第五招》-linux命令五分钟系列之三十九
== [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...
- Java菜鸟起飞日记-每天五分钟(Hello World)
Today,沈叔的Java菜鸟起飞日记-每天五分钟就正式开博了 其实本来是没有打算写这样一个东西的,不过就近来发现自己的学习状态存在很大的问题,很多东西都开始遗忘,于是乎,为了证明自己学过,还是用这样 ...
- 《gcc五分钟系列》第六节:编译期符号检查
<gcc五分钟系列>第六节:编译期符号检查 上一节,我们说了从源文件到目标文件的编译过程.这一节,我想讨论一下编译期符号检查的问题. 请原谅我实在不知道如何翻译"refe ...
- 在不同领域,大家用爬虫怎么盈利的-Java网络爬虫系统性学习与实战系列(4)
在不同领域,大家用爬虫怎么盈利的-Java网络爬虫系统性学习与实战系列(4) 文章目录 概述 出行抢票软件 微博上的僵尸粉 电商比价/返利平台 社区抓取数据和内容 联系方式 系列文章地址: Java网 ...
- 了解爬虫的风险与以及如何规避风险-Java网络爬虫系统性学习与实战系列(3)
了解爬虫的风险与以及如何规避风险-Java网络爬虫系统性学习与实战系列(3) 文章目录 概述 法律风险 民事风险 刑事风险 个人信息的法律风险 著作权的风险(文章.图片.影视等数据) 5不要 3准守 ...
- 《gcc五分钟系列》基础部分结束
<gcc五分钟系列>基础部分结束 我把常用的编译选项都已经介绍完了. 本系列打算休息一段时间. 转载于:https://blog.51cto.com/elephantliu/828 ...
- 常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10)
常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10) 文章目录 联系方式 反爬虫策略 文本混淆 SVG映射 CSS文字偏移 图片混淆伪装 字体反爬 Referer字段反爬 数据分 ...
最新文章
- Timus 1837. Isenbaev's Number
- 在Delphi程序中操作注册表
- layui 刷新页面_layuimini简洁、清爽、易用的layui后台框架模板
- poj 2486 树形dp
- ruby 发送post请求_使用Ruby发送电子邮件
- USACO-Section1.4 Wormholes(枚举法)
- 数据结构--循环队列
- pytorch nn.Softmax
- 接口测试工具Postman接口测试图文教程
- 模板点击通过sql获得值 举例说明
- 在ubuntu16.04下安装opencv3.4.5(超详细)
- VScode设置中文界面
- 锁php_基于 Redis 实现分布式锁及对应的 PHP 实现源码
- 【windows】win10录屏录屏内声音
- 如何看待“大数据杀熟”现象(个人观点,仅供参考)
- 计算机二级答题技巧口诀,计算机二级考试复习技巧:考场答题经验分享
- Exception at 0x7fefd73a49d, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continue
- vlc-android源码git下载
- ngrok使用/踩坑分析-http代理
- Android rom开发:最完整的截屏方案(支持全屏截屏+区域截屏)