分布式系统改造
-
分布式前期的架构基本都是这样,我们的应用程序在请求数据时,会先从缓存中获取数据,如果缓存中拿不到,再去数据库拿一次,拿成功之后在写入缓存,这样模式应该是很多公司前期开发模式。
分布式应用系统的基本要素是在子应用充分解耦的基础上,使各应用能高效地自动发现其他应用及其提供的所有交易与服务,并根据配置、权限许可和目标子应用的负载情况进行最合适的请求分发。同时要有相应的保障体系用于分析和监控系统运行情况。业界成熟的复杂分布式系统通常还会考虑服务降级、熔断等一些高级特性,但由于这些特性对一般集中式系统来说不是必须的。
要将集中式系统拆解为分布式系统,需解决的问题主要有:必须实现拆分后各应用可用交易、服务的自动注册与发现;必须实现软负载均衡以获得最优集中式应用系统分布式改造方案研究的交易、服务流转路径;必须有易于操作的配置管理中心用于配置项管理和自动发送;必须有权限控制用以保证系统安全性;必须有统一日志收集和保障组件,用于分析和监控系统运行情况。
基于logbackAppender的实时日志发送。此方案使用定制化的logbackAppender实现日志实时发送。缺点是如果kafka集群运行不够稳定会对自身应用有影响,而且要实现日志的多种格式输出需修改代码。
基于logstash的外挂式准实时日志收集。此方案是在日志输出方部署logstash客户端,自动扫描日志路径下的日志变化,读取日志并通过正则匹配格式化后发送到kafka集群。实时性较前一种方案略差,但是对应用本身几乎没有影响,而且灵活性较前一种高。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏