博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Openstack+Kubernetes+Docker微服务实践之路--选型
阅读量:5344 次
发布时间:2019-06-15

本文共 836 字,大约阅读时间需要 2 分钟。

上一篇博文中我们选定Openstack做为我们的基础设施IAAS平台,本文将明确我们用什么技术做为微服务平台的技术选型。

经过对微服务的特性总结和添加一些个性需求后对微服务平台的基本要求

  1. PRC远程调用,必须是TCP协议的,HTTP、HTTP/2不考虑,当然可以同时支持
  2. 服务发现
  3. 负载均衡
  4. 平滑升级,服务升级不影响线上业务
  5. 动态伸缩,阿里叫弹性计算
  6. 多语言支持,这个在后面专门解释一下为什么要支持多语言

容错等其它特性暂不考虑

选型

最早接触的是阿里的EDAS(HSF)的微服务实现,后来知道他们有开源的Dubbo,再后来发现同类的RPC框架有Thrift、Zeroc Ice、Google的gRpc等,随着深入了解发现大Spring也推出一个微服务开发框架叫Spring Cloud,这么多业界大佬都相继推出自家产品,看来微服务的前景大好!

这么多框架带来的问题了也是显而易见的,用谁,怎么用呢?

从大的格局上考虑,这么多特性都支持的并没有,比如Dubbo的服务发现要用Zookeeper等注册中心来实现,Spring Cloud也是需要安装很多组件来实现并且并不支持弹性和多语言,我本人是一个一切从简的人,不喜欢把事情搞的太复杂也不好维护,直到看到这篇文章 ,对Kubernets产生的浓厚的兴趣,之前早听过Kubernets一直以为只是个Docker的编排工具没曾想它还有这么多功能,什么服务发现、负载、弹性等一应俱全, 好,就是你了!

但RPC如何实现?

根据我们的要求支持TCP、多语言上面几个就只剩下Thrift和Ice了,考虑到Thrift比较成熟有Apache做背景就没有继续研究Ice,另外看了下性能测试它俩相差不多

57355-20161115134417795-520786762.png

因此RPC框架就确定为Apache Thrift !

那么如何将Thrift跟Kubernets结合使用呢,我们将在下一篇博文中展开讨论!

转载于:https://www.cnblogs.com/xguo/p/6065379.html

你可能感兴趣的文章
进程描述和控制
查看>>
Lucene.Net入门教程及示例
查看>>
Locust性能测试_先登录场景案例
查看>>
FFT模板
查看>>
在同一个xp系统里同时安装sql2000和sql2005(转)
查看>>
文件上传
查看>>
Java 的JSON、XML转换方法——目录索引
查看>>
设计模式之装饰模式的复习
查看>>
effective C++ 条款 30:透彻了解inlining的里里外外
查看>>
image-webpack-loader在mac或ubuntu报错
查看>>
样本随机抽样、局号抽样逻辑
查看>>
HDU 1074 Doing Homework 状压DP
查看>>
IE6/7/8/9的CSS HACK
查看>>
『Linux基础 - 2 』操作系统,Linux背景知识和Ubuntu操作系统安装
查看>>
Cucumber + Capybara - What we need for rails integration test
查看>>
一张图UML
查看>>
[转]ArcGIS计算图斑的四邻坐标(XMin,XMax,YMin,YMax)
查看>>
英语口语练习系列-C41-食物词汇-鹊桥仙
查看>>
package-info.java到底是什么
查看>>
iOS- 优化与封装 APP音效的播放
查看>>