6问微服务到底靠不靠谱?( 二 )

  • Istio 本身还是站在运维角度去考虑问题的,运维人员觉得不错,但 Istio 没有和应用开发框架有深度的集成 。但写应用的是开发人员,他们对这些未必关心 。SpringCloud 想对接受的广,本质上是因为 SringBoot 的开发友好型 。
  • 那么,Istio 到底靠谱不 。从长远看,靠谱 。因为毕竟 Istio 是基于 K8S 的框架对微服务的架构性创新,随着 Istio 版本的迭代,性能和稳定性的提升,案例会越来越多 。
    拷问 5:我的应用现在 vm 上使用的 SpringCloud,怎么向 K8S/OCP(OpenShift) 迁移?这有两种方法:
    (1)将所有 SpringCloud 和应用一起容器化,然后挪到 OCP 上 。
    这种方法的好处是:不用改 SpringCloud 框架,上来基本就能用 。缺点是让让本就复杂的 SpringCloud 更加复杂 。
    (2)将 SpringCloud 迁移的时候,按照 K8S 的特点,对组件进行改造 。K8S 层有的就用 K8S 的 。如下表所示 。
    这种需要点工作量改造需需要点工作量,好处是后续微服务架构就能一定晨读上调用 K8S,效率高一些,后续运维也会方便 。比如写应用的时候,直接用 K8S的 service name 。
    6问微服务到底靠不靠谱?

    文章插图
     
    编辑搜图
    请点击输入图片描述
    6问微服务到底靠不靠谱?

    文章插图
     
    编辑搜图
    请点击输入图片描述
    拷问 6:我现在用的是 K8S+SpringCloud,怎么向 OCP+Istio 迁移?这种方法比拷问 5 中的第二种稍微激进一些,但未来是这个方向 。这种做法的好处是业务逻辑用 Spring Boot 实现,其他功能实现都交给交给 Openshift+Istio 。
    这种方法的大致步骤是:
    1. 在 pom.xml 中注销 SpringCloud 组件的的 Maven 依赖,如:Eureka。
    2. 删除代码中 SpringCloud 的 annotation,如 @EnableDiscoveryClient
    3. 集中的配置文件回到各个项目中
    4. 用 jar 包构建镜像 。也就应用容器化,可以使用 OCP 的 S2I builderimage 。
    5. 创建 ConfigMap 用于注入环境变量 。
    6. 在 OCP 上部署应用,部署的时候,记住要注入 sidecar 。
    转载来源:OSChin.net原文标题:灵魂拷问 x6:微服务到底靠谱不?
    原文链接:https://my.oschina.net/u/4567873/blog/4400010
    ?

    【6问微服务到底靠不靠谱?】


    推荐阅读