云原生
应用程序代码的组成:
1 非功能性代码: 特定业务的代码
如 购物,订单,支付,库存
2 功能性代码: 通用性,与业务无关 ---无需程序员进行关注,然后在进行应用程序更新的时候,把功能性服务独立注入(sidecar)
如 负载均衡,服务发现,阻断,容错
SDK, SpringCloud(只能是JAVA)
3 第三方调用: 如数据库,中间件 进行关联
Service Mash: 就算是微服务,例如有很多的服务的pod,但是有些服务的pod一天下来也是没有任何流量的,这就会造成资源的浪费,如果把没有流量的pod收缩成0个
也会出现问题,但是service不支持后端endpoint的pod数量为0,会出现问题,但是现在要支持这种情况,service是存在的,但是pod一个也不需要,
在有流量的时候再把pod启动起来,这样就不会造成资源的浪费,这种是knative实现,算是BaaS
极具弹性:
0 replica
Knative --> stateless --> serving
BaaS:后端即服务
FaaS: 函数即服务
2009年,断言,云计算的最终形态就是Serverless
程序员开发:Function
部署运行在Serverless Engine
仍然有可能是独立的容器
浙公网安备 33010602011771号