今天我发博客内容为分布式思想,SOA及其实现
毕竟就之前而言,由于我们的能力并不是很足够,所写的程序大部分为单体程序~
(~~没错,将一堆混杂着bug和性能问题且功能不同的代码莫名其妙的拼凑成一个单一线程的程序就是我们做的事情(~ ̄▽ ̄)~~~)
虽然有部分横向分层,
(~~像数据库层->dao层->biz层->controller层->web层这种基础玩意我都不好意思叫分层~~)
但是嘛在处理复杂的项目之时还是远远不够的,特别是在现在的实际生产环境下,问题可大了去了:
1. 可伸缩性差:无法根据访问频率部署对应功能等等
(ps:这一大堆杂七杂八的代码混在一堆,简直是高耦合低内聚...怎么可能做到良好的伸缩性~)
2. 项目规模一旦过大,将会造成打包发布时间的大大增加
(ps:编译器:???)
3. 系统错误隔离性差:系统过于高耦合,容易发生一个功能出现问题,整个项目全部GG的情况
(bug小能手落星:教练,这个我熟(≧∇≦)ノ)
4. 不同项目的功能模块可能出现重复建设的问题,造成浪费~
在各种莫名其妙问题的加持下,一些程序猿不忍了~在这种情况下,分布式架构横空出世~~
- 分布式架构:对一个复杂业务系统进行垂直分层~使得每一个垂直应用都是一个独立的子系统,应用系统由它们共同组成~
基此,这些子系统就可以部署在不同服务器上,这些服务器还可以位于不同的地域.
(ps:怪不得现在流行模块化开发,这玩意简直是屎山救星好吧,果然是科技解放思想?)
这就是分布式架构~
但是其并不是完全没有副作用来着:
随着分布式应用之间的调用越来越多,整个系统复杂度也会随之急剧上升~
这又导致了SOA的横空出世!
- SOA(Service-Oriented Architecture):面向服务的架构,是一种软件开发模式,允许不同的服务通过服务接口进行可重用和互操作的组合,形成应用程序.它是一种粗粒度,