本篇内容介绍了“Go kit架构组件有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Go kit (http://gokit.io)是一个Go软件包的集合,可以帮助您构建健壮、可靠、可维护的微服务。Go kit提供了用于实现系统可观察性和弹性模式的组件的库,如日志、度量、跟踪、速率限制和断路,这些都是在生产环境中运行微服务的基本要求。Go工具包的优点是它比较固执己见,并且设计用于不同基础设施、消息编码格式和传输层的互操作性。除了构建微服务的工具包外,它还鼓励在服务中应用程序架构的良好设计原则。Go工具包可以帮助你拥抱扎实的设计原则、领域驱动设计(DDD)和Alistair Cockburn提出的“六边形架构”,或者类似的架构方法之一,即Jeffrey Palermo提出的“洋葱架构”和Robert C. Martin提出的“清洁架构”。虽然Go kit被设计成一个微服务工具包,但它也非常适合构建优雅的整体。在基于Gokit 的应用架构中有三个主要组件:传输层端点层服务层当您构建基于分布式系统的微服务时,服务通常使用具体的传输方式(如HTTP或gRPC)或使用发布/订阅系统(如NATS)进行通信。Go kit中的运输层与混凝土运输是绑定的。Go kit支持各种传输服务使用HTTP, gRPC, nat, AMQP和Thrift。因为Go kit服务只专注于实现业务逻辑,而不了解具体的传输,所以您可以为同一个服务提供多个传输。例如,一个单独的Go kit服务可以同时使用HTTP和gRPC来公开。端点是服务器和客户机的基本构建块。在Go kit中,主要的消息传递模式是RPC。端点表示单个RPC方法。Go kit服务中的每个服务方法都转换为一个端点,以便在服务器和客户机之间进行RPC风格的通信。每个端点通过使用具体的传输(如HTTP或gRPC),使用传输层向外部世界公开服务方法。单个端点可以通过使用多个传输来公开。业务逻辑在服务中实现。Go套件服务被建模为接口。服务中的业务逻辑包含核心业务逻辑,这些核心业务逻辑不应该包含端点或具体传输(如HTTP或gRPC),也不应该包含对请求和响应消息类型的编码和解码。这将鼓励您为基于Go套件的服务遵循一个干净的架构。每个服务方法通过使用适配器作为端点进行转换,并通过使用具体的传输公开。由于清晰的体系结构,单个Go kit服务可以通过使用多个传输来公开。以一个例子介绍Gokit让我们通过一个示例 香港云主机程序来深入了解Go工具包的基础知识。业务逻辑在建模为接口的服务中实现。这里,我们以电子商务域订单聚合为我们的服务建模:订单服务接口“Go kit架构组件有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
相关推荐: Scrapy框架对接selenium怎样进行模拟知乎登录
Scrapy框架对接selenium怎样进行模拟知乎登录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。概要:之前写了scrapy的基础,准备尝试模拟知乎登录,并爬取问答。但是发现知乎已经做了更…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。