微服务架构

微服务架构四个核心问题?

1.服务很多,客户端该怎么访问?
2.这么多服务?事务之间如何通信?
3.这么多服务?如何治理?
4.服务挂了怎么办?

为什么解决这个问题?
网络不可靠

微服务:一种架构风格,将单一的应用程序划分为一组小的服务
springboot与springcloud的区别?
1.springboot专注于快速、方便的开发单个个体微服务。springcloud关注全局的服务治理框架。
2.springcloud离不开springboot,但springboot可以独立使用单独开发。

Dubbo:定位一款基于RPC框架,通信
springcloud:微服务框架下的一站式解决方案。

1.spring cloud NetFlix一站式解决方案
api网关:zuul组间
Feign :通信
服务注册:Eureka
熔断机制:Hystrix

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
是Spring用于同步client端的核心类,简化了与http服务的通信,并满足RestFul原则,程序代码可以给它提供URL,并提取结果。

在服务的调用过程中,使用到了一个组件,叫做 RestTemplate,RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。

其实开发者也可以不使用 RestTemplate ,使用 Java 自带的 HttpUrlConnection 或者经典的网络访问框架 HttpClient 也可以完成,只是在 Spring 项目中,使用 RestTemplate 显然更方便一些。

在传统的项目架构中,因为不涉及到服务之间的调用,大家对 RestTemplate 的使用可能比较少。

                        注册中心
          服务提供者              消费

一般服务提供者、消费由dubbo、restTemplate提供
注册中心由zookeeper、Eureka
Eureka基于restTemplate通信的
dubbo是基于rpc通信的

你可能感兴趣的:(微服务,架构,spring,cloud)