1、微服务架构构成

单体架构(通过应用集群和数据库集群来提高性能,多余模块存在浪费)
垂直架构(新的功能模块通过新项目来实现,数据库之间存在交叉关联。存在数据冗余,和单体架构一样通过扩展集群结点,成本高,有性能瓶颈。)
SOA架构(ESB服务总线,基于webservice协议的接口调用。)
微服务架构(采用Restful轻量协议进行服务传送)
技术栈
 
 

2、相关技术栈简要理解

  • Eureka服务治理
启动类添加注解@EnableEurekaServer,@EnableEurekaClient
 
  • Ribbon负载均衡
在启动类中添加@EnableDiscoveryClient注解,服务发现;
在具体集群的对象上添加@LoadBalanced注解,如:
<wiz_code_mirror>

 
 
 
 
 
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate(new OkHttp3clientHttpRequestFactory());
}
 
 
 
  • Hystrix断路容错保护
在启动类上添加@EnableHystrix(fallbackMethod="errorMethod")注解。
在具体的方法上添加@HystrixCommand注解
如请求超时等,调用相应的服务返回结果。
 
  • Zuul网关
配置文件中添加sso-service配置,
在启动类上添加@EnableZullProxy注解。
不仅用于提供对外的服务的入口,还可以在微服务之间通过zuul进行调用, 常用于请求路由、校验、过滤等功能。
 
  • Config配置中心
众多微服务的配置文件可以直接统一管理,放在git上,直接读取,修改后不用重启服务。
 
  • Bus消息总线
微服务之间的异步通信,如微服务A修改用户信息,微服务B需要存在缓存中,不能直接调用微服务B,可以将消息发给消息总线的队列,消息队列来通知微服务B。
 
  • Sleuth链路跟踪

微服务之间的串联调用,可以跟踪到具体时哪一步出错了。
 
  • Turbine集群监控
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

最新文章

  1. IOS学习之路- 运行过程
  2. Zendstudio 9.0.2 安装Aptana3 并且配置 jQuery
  3. OK335xS Qt network hacking
  4. Swift 学习手记1,pod 的 类库使用
  5. 【poj3070】矩阵乘法求斐波那契数列
  6. 腾讯云升级到PHP7
  7. JBoss AS 7性能调优(三)
  8. C语言的本质(34)——静态库
  9. Python 操作 MySQL--(pymysql)
  10. 这是对position讲解最通俗易懂的版本了。
  11. Mac终端查看sqlite3数据库、表数据等
  12. ECharts的简单使用
  13. c++の奇技淫巧
  14. c#工厂模式与抽象工厂模式
  15. CentOS7修改主机名(hostname)
  16. java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法
  17. Visual Studio2013 配置opencv3.3.0 x64系统
  18. Codeforces Round #548 (Div. 2) C dp or 排列组合
  19. 用Java批量重命名文件
  20. 定时任务起的java进程没有释放导致oracle的问题not availavle &amp; out of memory

热门文章

  1. (利用DOM)在新打开的页面点击关闭当前浏览器窗口
  2. c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
  3. UVA - 11827 - Maximum GCD,10200 - Prime Time (数学)
  4. ubuntu 12.04改变源(转载)
  5. TCP 同步传输:客户端发送,服务器段接收
  6. EasyPlayer Android安卓流媒体播放器实现播放同步录像功能实现(附源码)
  7. Sping中的配置Bean详解
  8. Java基础知识查漏 一
  9. Thumbelina,摘自iOS应用Snow White and more stories
  10. Mac 下Java开发环境安装