首先,市场主流的微服务架构主要是dubbo和springcloud两种,dubbo是基于RPC通信风格的微服务框架,而springcloud是基础restful通信风格的。由于RPC是基于TCP通信协议,所以RPC的传输能力要比基于HTTP协议的springcloud的更高。为什么?因为HTTP协议应用层,它的底层网络传输层也是TCP,但是HTTP协议中包含了请求行,头,体,要携带的信息很多,速度相对较慢。
springcloud微服务架构是基于springboot的,所以离开了springboot,springcloud就没有意义了。但是springboot离开了springcloud,也能开发项目。
springcloud微服务常用的注解:
@EnableEurekaServer: 用在springboot启动类上,表示这是一个eureka服务注册中心;
@EnableDiscoveryClient: 标注在客户端,用在springboot启动类上,表示这是一个服务,可以被注册中心找到;
@LoadBalanced: 负载均衡启动器,用在服务调用方,开启负载均衡能力;
@HystrixCommand(fallbackMethod=”backMethod”): 用在方法上,fallbackMethod指定断路回调方法;
@EnableZuulProxy: 开启zuul路由,用在启动类上;
@EnableConfigServer: 用在启动类上,表示这是一个配置中心,开启Config Server;
@SpringCloudApplication: 是一个组合注解,包含启动器上常用的三个重要注解 @SpringBoootApplication @EnableDiscovertyClient; @EnableCircuitBreaker;
* 举例:微服务中组件的使用步骤:
springcloud中Eureka的使用步骤: 一,先在pom文件中导入Eureka依赖 二,修application.yml改配置文件
三,在启动类上加上需要的注解