使用服务结构在容器上实现eShop的方法
从宠物店到容器上的eShop,微软是一个示例项目,向开发人员展示的开发和架构能力。技术进化道路上的网络。Petshop更多的是展示应用程序的分层架构、设计的抽象以及模块之间的通信。当容器上的eshop更加关注架构设计和微服务时,我们先来看看容器上的eShop的架构图
在上图中,我们可以看到后端服务分为
1身份微服务(身份验证服务)
2目录微服务(商品分类服务)
3订购微服务(订购服务)
4篮子微服务(购物车服务)
5营销微服务(营销服务)
6位置微服务(地理位置信息服务)
在以前的分层架构中,这些服务通常体现在某个模块中,那么为什么现在要将它们拆分成各种服务呢?当我们从业务场景来看这些服务时,我们会发现每个服务的峰值接入时间间隔和容量规划都不一样,甚至实现这些服务最方便、最简单的技术栈也可能不一样(当然,功能强大。net core什么都可以做,但是公司不同业务线上的技术储备不同,所以可以选择不同的技术来实现)。这是因为,如果我们将这些模块集成到一个程序或服务中,在不同时间的服务高峰时,无论是因为资源不足还是资源过多,都很难扩展系统容量。比如抢购业务开始前,大家都提前一个半小时登录系统。此时系统中登录模块最忙,抢购时间开始时订单模块最忙。没有微服务架构,半小时前为登录模块准备的资源可能无法及时释放给订单模块。如果两个模块都使用单一的程序架构,很可能所有的资源都被抢购的业务占用,甚至正常访问系统的其他用户的资源也被占用,导致系统崩溃。在关注Dev/Ops的今天,开发人员和架构师需要更多地思考硬件架构对程序应用的影响。
使用服务结构在容器微服务上托管eShop的第一种方法是通过服务结构直接管理Docker
首先,我们首先在Azure上申请一个容器注册表来托管eShop微服务的镜像。要创建Azure Docker注册表,您可以参考官方文档:https://docs.microsoft.com/zh-cn/azure/container-registry/
目前最新版本的Service Fabric可以直接管理编舞。
1.创建容器类型的服务
2.在servicemanifest.xml中清楚地描述映像所在的路径
代码包名称='代码'版本='1.0.0 '!-有关将Windows容器部署到Service fabric : https://aka.ms/sfguest containers-entry point container host ImageName eshopsample . azure Cr . io/catalog : latest/ImageName/container host/entry point!-将环境变量传递到您的容器:-EnvironmentVariables EnvironmentVariable Name=' httpgateway port ' Value=' '//EnvironmentVariables/code package在这里很简单,只需指定映像的位置,如果Docker Image需要大量的配置信息,比如数据库链接字符串、其他服务的地址等。它可以在环境变量中配置。
3.配置注册表的访问帐户密码,需要在ApplicationManifest.xml上配置
service manifestimport service manifestref service manifestname=' CatalogService _ Pkg ' service manifestversion=' 1 . 0 . 1 '/Policies container hostpolicies CodePackageRef=' Code ' Isolation=' hyper ' restorycredentals account name=' your account ' Password='
版权声明:使用服务结构在容器上实现eShop的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。