1、技术架构演进
技术架构的演进顺序按照单体架构、传统分布式、SOA、微服务顺序发展升级。单体架构中,展示层、服务层、数据访问层都是在在同一个工程里的。传统分布式则将业务进行划分成不同的子系统,子系统之间通过API相互调用。SOA架构,即面向服务的架构,主要角色分为服务提供者和服务消费者,通过ESB企业服务总线将服务进行集中管理。而微服务是SOA架构的升级,服务的粒度更为精细,并且更强调服务之间的松耦合和复用性以及分散化管理。
2、SOA和微服务的区别
SOA通测常是松耦合的,服务的粒度比较大;而且是通过ESB企业服务总线进行集中管理;通信协议一般采用RPC远程调用,采用xml的数据格式进行传输。
微服务总是松耦合的,服务粒度更小,且数据库私有访问,以业务划分服务和开发团队,服务的复用性更强;通过路由网关去中心,进行分散化管理;通信协议使用http协议比较多。
3、Dubbo和springcloud的区别
Dubbo是SOA的典型实现,而springcloud更服务微服务得定义。springcloud具有整套的不断扩展的生态组件,致力于成为Java领域微服务的企业方案解决标准。
4、springcloud核心生态组件介绍
服务注册与发现中心:eureka(已经闭源)、consul。
负载均衡:ribbon。
服务熔断:hystrix。
申明式web service客户端:feign(包含了ribbon、hystrix负载等功能组件)。
统一配置:config。
路由网关:zuul