前言:

之前在研究监控系统:Prometheus,它是云全球云原生基金的第二大项目,然后带出第一大 Kerbernates,然后就开始研究K8S

微服务框架是知道阿里的duboo,Netflix的springcloud,这些都是大厂研发并且在各自的公司实施生产稳定的架构,

最近2年又出了k8s,开始只了解这东西是google大厂出来做服务编排管理的,后来这东西又归于云计算的一种,

最近在看杨波老师的视频《极客时间基于SpringBoot与Kubernetes云原生微服务实践》(想看的私信我),

这东西又是一个微服务的架构的一种,基本上微服务架构需要的功能它都有,没有的它也有,而且所有的基础提供商必须提供它(没有就不是云提供商了),似乎它已经成了云服务、云计算的一个标配。

云服务最主要的有三类,IaaS、PaaS、SaaS。这些概念我也很模糊,但是你要弄云的话,有些概念还是要先背着,以后再去理解。

IaaS      Infrastructure as a service    基础设施即服务    即给你一个虚拟机上面什么都没有,你可以在上面安装任何东西,包括JDK,数据库等等。比如我们平常购买的云服务器

PaaS    Platform as a service            平台即服务            就是很多环境云服务提供商都给我们提供好了,包括程序运行环境,数据库,中间件等等,你所需要就是编写的应用程序,然后将它打包,跑在云服务商的运行环境即可。

SaaS    Software as a Service           软件即服务           意思就是你现在需要一个应用,程序都不需要你开发了,你只要找到一个能提供服务的厂商,通过简单的客户端工具(web浏览器,邮件等),就可以注册一个应用,然后找个应用就是你的了。

通过一个简单的例子比喻一下:

On-premise方案:        自己开车,需要维护汽车,是其安全工作。同时需要为车上保险,提供燃料。(服务器 + 操作系统/数据库 + 应用软件)

IaaS:                             从租车公司租一辆车,汽车的维修、安检都由租车公司承担。你只需要提供燃料(需要提供操作系统+应用软件)

PaaS:                            除了基础设施(汽车),还为你提供司机。类似出租车。只需要提供目的地,汽车的行驶和运行都有司机决定。(只需要提供应用软件)。

SaaS:                            类似于做轨道交通, 一切都是由别人控制。只有较少的定制化功能。

目前主流的IaaS,Paas,SaaS

k8s springcloud架构图 k8s springcloud区别_k8s springcloud架构图

从目前K8S形式和发展(各大厂商的情况),长期看,dubbo/spring cloud会被k8s所取代。

微服务的关注点:

  1. 配置管理 如数据库连接字符串,缓存的过期时间等
  2. 服务发现和负载均衡
  3. 弹性和容错
  4. API管理
  5. 服务安全
  6. 日志监控
  7. Metrics监控
  8. 调用链监控
  9. 调度和发布
  10. 自愈和自动伸缩

下面图片都是从视频中截取:

Dubbo、SpringCloud和K8s的横向对比

k8s springcloud架构图 k8s springcloud区别_云计算_02

k8s springcloud架构图 k8s springcloud区别_云服务_03

 

Dubbo、SpringCloud和K8s优点和缺点

k8s springcloud架构图 k8s springcloud区别_kubernetes_04

选择建议

k8s springcloud架构图 k8s springcloud区别_k8s springcloud架构图_05