国王小组:数字货币交易所搭建|微服务架构运用理解

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 核心思想:分而治之,将一个应用拆分成多个松耦合的服务,这些服务之间通过某种协议(REST、RPC等)进行互相协作,其中一个关键点就是各服务之间的松耦合,各服务之间通过一种“标准”的协议进行沟通,不需要理解对方服务的实现逻辑、实现方式,只要在对方不影响自己所提供的服务功能即可。

微服务架构的理解
定义:将功能分解成一系列服务的一种架构模式。

着重点:相对于应用系统的功能性需求,更着重于应用系统的扩展性、灵活性,还有性能、运维、安全、测试、监控等非功能性需求。

核心思想:分而治之,将一个应用拆分成多个松耦合的服务,这些服务之间通过某种协议(REST、RPC等)进行互相协作,其中一个关键点就是各服务之间的松耦合,各服务之间通过一种“标准”的协议进行沟通,不需要理解对方服务的实现逻辑、实现方式,只要在对方不影响自己所提供的服务功能即可。

微服务中的服务:服务是一个可以独立运行、提供范围有限的功能(可以是业务功能,也有可能是非业务功能)的组件(微服务是可以单独部署运行的)。

优点:

松耦合:服务提供者和服务消费者互不影响。
抽象:当前微服务对自己所拥有的数据有绝对控制权,其他微服务只有通过该服务才能够访问此数据。
独立:每个微服务都可以在不影响其他微服务的情况下进行编译、打包和部署。
应对用户需求的多样性:不同的微服务承担不同的职责,快速部署上线能力可以让用户需求尽早实现。
更高可用性和弹性:微服务架构可以认为是一个去中心化的应用,每一个微服务都可以随时上线或下线。
缺点:

可用性降低:微服务之间都是通过远程调用进行协作的,远程调用必然是不稳定的。
处理分布式事务较棘手:当一个请求的业务涉及多个微服务时,保障数据的一致性就成为一个棘手的问题。
全能对象(God Classes)阻止业务拆分:几乎涉及了每个服务的对象,难以拆分。如电商系统的订单对象。
学习难度曲线加大:需要开发人员学习掌握一系列的微服务开发技术,加大了进入门槛。
组织架构变更:虽然对于单独一个微服务的部署简化了,但是整个应用部署的复杂度却提升了,需要涉及服务编排和服务治理等一系列处理,可能还需要协调不同的团队,以及在人事组织上进行调整来适应这种变化。
微服务架构的设计
微服务架构的设计一定是与时俱进的,因此我们也不可能在第一次设计时就设计出一个完美的架构体系

微服务架构如何设计呢?简单可概括为三步:

把应用中关键的需求定义出来;
识别出采用微服务架构时应用中所包含的所有服务;
规划出各服务之间的协作关系。
注意:在服务拆分和服务协作规划时,一定要专注于业务,专注于业务,专注于业务;

交易所开发正式版丨区块链交易所系统开发实现技术功能及源码
交易所开发案例丨交易所系统开发(详细及流程)丨交易所成熟及源码系统
交易所开发(稳定版)丨交易所系统开发(方案及逻辑)丨 交易所系统源码功能
什么是去中心化交易所系统开发丨浅谈uniswap丨justswap
交易所源码(整体架构演示)
交易所搭建,交易所源码是怎么开发的?
区块链交易所怎么搭建?
区块链交易所平台中常见的开发模式有哪些?
区块链交易所如何开发(介绍区块链应用开发的流程)
区块链交易所开发的玩法介绍
数字区块链交易所系统开发的玩法
当识别出应用的每一个微服务后,我们就需要考虑这些微服务之间如何进行协作。定义各个微服务之间协作关系最有效的方式就是根据每一个业务进行分析。有些业务场景可能只需要某一个服务就可以完成,有些业务场景则可能需要两个或多个服务才可以。这些协作可能是实时同步的,也可能是异步执行,我们可以根据这些具体需求来确定使用何种方式进行交互(是使用REST、RPC,还是消息)。此外,还有一个需要我们第一时间去考虑的问题就是用户的服务请求最初是由哪个服务承担的。

相关文章
|
21天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
62 2
|
25天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
76 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
4天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
44 10
|
4天前
|
运维 Cloud Native 持续交付
云原生架构下的微服务设计原则与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境中微服务设计的几大核心原则,包括服务的细粒度划分、无状态性、独立部署、自动化管理及容错机制。通过分析这些原则背后的技术逻辑与业务价值,结合具体案例,展示了如何在现代云平台上实现高效、灵活且可扩展的微服务架构,以应对快速变化的市场需求和技术挑战。 ####
23 7
|
4天前
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
26 5
|
4天前
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
11天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型加速的今天,云原生技术以其高效、灵活、可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生环境下微服务治理的策略与实践路径,旨在为读者提供一个系统性的微服务治理框架,涵盖从服务设计、部署、监控到运维的全生命周期管理,助力企业在云端构建更加稳定、高效的业务系统。 ####
|
11天前
|
运维 监控 Cloud Native
云原生架构下,微服务治理的艺术与实践####
【10月更文挑战第14天】 在数字化转型的大潮中,云原生技术以其高效、灵活与可扩展性成为企业IT架构的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务治理的策略与实践,揭示了如何通过精细化管理提升系统的响应速度、稳定性和可维护性。不同于传统的摘要概述,本文摘要旨在直接触及读者关注的核心——即如何在复杂多变的云环境中,实现微服务的高效协同与治理,为读者提供一个清晰的行动指南。 ####
27 1