一个架构的演化1--从All in One到SOA实践
那一年,有个小程序
业务简单,规模小,一个小程序直接搞定。
后来规模大了
将前台逻辑和后台业务分开了,变成了客户/服务器模式。
再后来用的人多了,安装特麻烦
换成了B/S结构,前台0安装了。
然后,使用范围扩大,上线的人更多了,响应变慢了
将处理用户请求和业务计算的任务分离了。
稳定了,规模大了,后台业务计算变慢了
将业务按照业务种类垂直切分后台。
后台多了,RPC连接麻烦又低效
换成基于消息的通信方式,提高性能相互解耦。
性能高了,规模不断扩大,新需求不断出现,发布时间不断缩短
所以,按照语言无关的契约定义服务,用最适合业务的语言实现服务,通过SR(Service Runtime)将服务请求和应答转换成消息,由MQ负责通信。一个业务一种服务,开发一个发布一个。搭上了SOA的班车,算是一种SOA实践吧-_-!
说明:
BC:浏览器客户端
WS:Web Server
BS:后台业务服务