云服务器内容精选

  • 什么是Mesher Mesher是Service Mesh的一个具体的实现,是一个轻量的代理服务以Sidecar的方式与微服务一起运行。 Service Mesh是由William Morgan定义: Service Mesh是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,Service Mesh保证请求可以在这些拓扑中可靠地传输。在实际应用当中,Service Mesh通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。 随着云原生应用的崛起,Service Mesh逐渐成为一个独立的基础设施层。在云原生模型里,一个应用可以由数百个服务组成,每个服务可能有数千个实例,而每个实例可能会持续地发生变化。服务间通信不仅异常复杂,而且也是运行时行为的基础。管理好服务间通信对于保证端到端的性能和可靠性来说是非常重要的。 Service Mesh实际上就是处于TCP/IP之上的一个抽象层,假设底层的L3/L4网络能够点对点地传输字节(同时,也假设网络环境是不可靠的,所以Service Mesh必须具备处理网络故障的能力)。 从某种程度上说,Service Mesh有点类似TCP/IP。TCP对网络端点间传输字节的机制进行了抽象,而Service Mesh则是对服务节点间请求的路由机制进行了抽象。Service Mesh不关心消息体是什么,也不关心它们是如何编码的。应用程序的目标是“将某些东西从A传送到B”,而Service Mesh所要做的就是实现这个目标,并处理传送过程中可能出现的任何故障。 与TCP不同的是,Service Mesh有着更高的目标:为应用运行时提供统一的、应用层面的可见性和可控性。Service Mesh将服务间通信从底层的基础设施中分离出来,让它成为整个生态系统的一等公民——它因此可以被监控、托管和控制。
  • 前提条件 通过ServiceStage部署,可以将.Net应用变为云原生应用,需要符合以下条件: 如果使用微服务引擎专业版,需要首先创建Mesher所需的配置,具体操作请参考为Mesher框架微服务应用配置AK/SK。推荐使用微服务引擎专享版,无需配置。 待接入的程序必须支持标准http_proxy环境变量。 本指南讲述的是.Net Core的接入方法,当前支持的.Net Core的版本为:2.0.9版本及以上,3.0版本以下。 其他语言,如Python、PHP接入,仅需满足前置条件即可。
  • ServiceStage部署 部署应用组件前,需要: 已经参考创建应用创建应用。 已经参考创建环境创建环境,环境包含CCE集群、ELB及微服务引擎等资源。 确保order配置文件中payment地址正确。 将payment service命名为“payment” 以代替本地127.0.0.1的寻址方式,端口需要保留,输入以下命令。 vim order/src/appsettings.json { "ServiceEndpoints": { "PaymentServiceEndpoint": "http://payment:8080" }, ....} 打包payment和order的镜像。 首先选择上传到某个Region的SWR软件仓库,比如swr.cn-north-1.myhuaweicloud.com,在该Region的软件中心创建组织,比如demo,具体参考创建组织。 打包镜像命令示例如下: cd order/src/ sudo docker build . -t swr.cn-north-1.myhuaweicloud.com/demo/ordernet:1.0 cd payment/src/ sudo docker build . -t swr.cn-north-1.myhuaweicloud.com/demo/paymentnet:1.0 上传镜像。 通过界面上传,请参考上传镜像。 通过命令push,示例如下: docker push swr.cn-north-1.myhuaweicloud.com/demo/ordernet:1.0 docker push swr.cn-north-1.myhuaweicloud.com/demo/paymentnet:1.0 创建payment应用组件,请参考创建微服务组件。 “选择运行时”:选择“Docker”。 “选择框架/服务网格”:选择“Mesher”。 “组件名称”:输入“payment”。 应用组件名字要跟1中order配置文件中的地址保持完全一致,所以名字为payment。 部署payment组件,请参考部署组件。 “实例数量”:设置为1。 “镜像”:单击“选择镜像”,选择3中上传的payment组件镜像。 其他参数使用默认配置。 创建order组件,请参考创建微服务组件。 “选择运行时”:选择“Docker”。 “选择框架/服务网格”:选择“Mesher”。 “组件名称”:输入“order”。 部署order组件,请参考部署组件。 “实例数量”:设置为1。 “镜像”:单击“选择镜像”,选择3中上传的order组件镜像。 “公网访问”:开启公网访问,“监听端口”设置为80。 其他参数使用默认配置。