微服务的概念
解耦:服务做了拆分,相互影响会大大降低,符合软件设计的低耦合原则。
组件化:每个服务都相当于一个独立的组件,可以进行独立升级和扩展,可以被重复使用,节省人力成本。
中心化管理:每个服务团队都可以使用自己擅长的技术,工具,不做标准化限制,最终只要可以中心化管理即可。
微服务架构集大成者,云计算最佳业务实践(官网) ,Spring cloud流应用程序启动器是基于Spring
Boot的Spring集成应用程序,提供与外部系统的集成。Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)
spring cloud 和dubbo区别
根据微服务架构在各方面的要素,看看Spring Cloud和Dubbo都提供了哪些支持
1.服务调用方式 dubbo是RPC springcloud Rest Api
2.注册中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper
3.服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由网关,作为路由服务器,进行消费者的请求分发
4.springcloud支持断路器,与git完美集成配置文件支持版本控制
REST是一种架构风格,指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。REST规范把所有内容都视为资源,网络上一切皆资源。
RPC:Remote Procedure Call,远程过程调用协议
客户端和服务端交互时将参数或结果转化为字节流在网络中传输,那么数据转化为字节流的或者将字节流转换成能读取的固定格式时就需要进行序列化和反序列化,序列化和反序列化的速度也会影响远程调用的效率。
多数RPC框架选择TCP作为传输协议,也有部分选择HTTP,如gRPC使用HTTP2。不同的协议各有利弊。TCP更加高效,而HTTP在实际应用中更加的灵活。
5246中,暂时还没有被广泛的使用。
HTTP2.0,下一代的HTTP协议。相比于HTTP1.x,大幅度的提升了web性能,进一步减少了网络延时和拥塞。
服务开发:springboot spring springmvc
服务配置与管理:Netfix公司的Archaiusm ,阿里的Diamond