日10亿级处理,基于云的微服务架构(1)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 日10亿级处理,基于云的微服务架构(1)

德比软件:基于云的微服务架构


作者:朱攀,德比软件架构师,同济大学研究生,2007 2 月加入德比软件(DerbySoft),拥有 10 年以上的软件架构和开发经验。目前主要负责公司数据对接平台的架构、基础设施建设、技术团队管理及公司技术的布道。作为德比软件的早期员工,从无到有地主导了德比软件数据对接平台的架构设计和实现,完成了数据对接平台多个版本的架构改进和升级,数据对接平台每天处理的 API 调用从 0 增长到现在的 10 亿多。期间设计实现了很多必要的基础设施和服务,如公司内部的 RPC 框架 DerbySoft-RPC、智能路由服务 Router、分布式数据存储服务 DStorage、网关服务 DGateway 等。目前主要关注基础架构、微服务、大数据存储和技术团队建设。

 

 

10.1     概述

 

 

微服务概念被提出来以后,短时间内就成了互联网圈的一个技术热点,有很多互联网公司计划或正在进行微服务化改造,那么应该怎么开始实施微服务呢?需要哪些基础设施来支持呢?我所在的公司德比软件从 2009 年就开始采用面向服务架构(SOA)来重新实现数据对接平台,我们积累了丰富的面向服务架构的经验,微服务架构是向服务架构思想的种实现,只是服务职责更单,粒度更小,过程更自动化。我们在多年的服务化架构实践过程中,已经不自觉地将服务的粒度细化了。本文想分享德比软件在实施微服务架构过程中积累的些基础设施及这些基础设施解决的痛点问题,希望对大家有所帮助和启发。

 

 

10.2     德比软件数据对接平台的架构

 

数据对接平台的架构大体上分三个层次,如图 10.1 所示,最外面是 API 层,由 API Gateway(网关)和各业务的 API 服务组成;中间层是服务层(Service),平台的大部分功能在这一层实现,服务之间可以通过依赖或组合组成功能更强的服务;底层是数据存储层(Data Storage),由缓存层和存储层组成。数据对接平台采用微服务架构,为了支撑这个架构,我们提供了必要的基础设施来保障上层各个服务和应用的可用性。



image.png


10.3     德比软件微服务架构基础设施

 

如图 10.2 所示,将基础设施分为了八大部分,分别是服务框架、基础服务、API 网关、自动化、服务降级、监控报警(服务健康状态)、日志处理和调用链追踪。其中,

  • 服务框架、基础服务、API 网关和服务降级的作用是提高服务的连续工作时间;
  • 自动化可以简化开发和部署过程;
  • 监控报警、日志处理和调用链追踪可以帮助快速发现问题、定位问题并解决问题。


image.png


image.png

相关文章
|
4天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
1天前
|
监控 API 开发者
构建高效微服务架构:后端开发的新范式
【5月更文挑战第12天】 在现代软件开发的浪潮中,微服务架构已经成为了设计复杂系统的首选模式。它通过将大型应用程序拆分成一组小而专注的服务来增强系统的可维护性和可扩展性。本文将探讨微服务架构的关键概念、优势以及如何在后端开发中实现一个高效的微服务系统。我们还将讨论一些常见的挑战和最佳实践,以帮助开发者避免陷入常见的陷阱。
15 6
|
2天前
|
存储 NoSQL MongoDB
【MongoDB 专栏】MongoDB 与微服务架构的结合
【5月更文挑战第11天】微服务架构流行趋势下,选择合适的数据库至关重要。MongoDB作为非关系型数据库,与微服务有天然契合度。其灵活的文档模型、水平扩展性、高性能及局部事务支持,满足微服务对数据模型多样性、高可用性、快速读写的需求。实践中,需注意数据划分、索引优化、监控调优和版本控制。未来,MongoDB在微服务中的应用将更广泛,新技术将提升其在微服务架构中的价值。
【MongoDB 专栏】MongoDB 与微服务架构的结合
|
2天前
|
监控 数据库 开发者
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第11天】在当今软件开发的世界中,微服务架构已经成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了设计、部署和维护微服务系统时面临的挑战,并提出了一系列实用的策略和最佳实践。我们将从服务的划分原则出发,讨论如何确保每个微服务的自治性,以及如何通过容器化和编排技术实现服务的高效运行。文章还将涉及监控、日志记录和故障恢复的策略,旨在帮助开发人员构建一个既高效又可靠的微服务环境。
|
2天前
|
Kubernetes API 开发者
构建高效微服务架构:后端开发的新范式
【5月更文挑战第11天】 在现代软件开发的快速演变中,微服务架构已成为企业追求敏捷性、可扩展性和技术多样性的关键解决方案。本文旨在探讨如何构建高效的微服务架构,并分析其对后端开发的影响。我们将通过一系列最佳实践和策略,展示如何优化服务的独立性、弹性和性能,同时确保系统的整体稳定性和安全性。文章还将介绍容器化、API网关、服务发现和分布式追踪等关键技术的应用,为后端开发者提供一份全面的微服务实施指南。
|
2天前
|
设计模式 监控 API
构建高效的微服务架构:后端开发的新范式
【5月更文挑战第11天】 在当今的软件开发领域,微服务架构已经成为一种流行的设计模式。它通过将应用程序分解为一组小型、松散耦合的服务来提供高度可扩展和灵活的解决方案。本文将探讨如何构建一个高效的微服务架构,包括选择合适的技术栈、设计原则以及应对常见挑战的策略。我们将深入讨论如何确保系统的可维护性、可靠性和性能,同时考虑到安全性和监控的需求。
|
3天前
|
监控 持续交付 Docker
使用Docker进行微服务架构的最佳实践
【5月更文挑战第10天】本文探讨了使用Docker实施微服务架构的最佳实践。首先,理解微服务架构是拆分小型独立服务的模式,借助Docker实现快速部署、高可移植性和环境一致性。Docker的优势在于服务扩展、容器编排、自动化构建与部署。最佳实践包括:定义清晰服务边界,使用Dockerfile和Docker Compose自动化构建,利用Docker Swarm或Kubernetes编排,实施服务发现和负载均衡,监控与日志记录,以及持续集成和持续部署。Docker虽重要,但需与其他技术结合以确保系统整体稳定性。
|
3天前
|
缓存 负载均衡 API
微服务架构下的API网关性能优化实践
【5月更文挑战第10天】在微服务架构中,API网关作为前端和后端服务之间的关键枢纽,其性能直接影响到整个系统的响应速度和稳定性。本文将探讨在高并发场景下,如何通过缓存策略、负载均衡、异步处理等技术手段对API网关进行性能优化,以确保用户体验和服务的可靠性。
|
3天前
|
监控 持续交付 开发者
构建高效微服务架构:后端开发的新范式
【5月更文挑战第10天】在现代软件开发领域,微服务架构已经成为一种流行的设计模式,它通过将大型应用程序拆分为一组小型、独立和松散耦合的服务来提供更高的可伸缩性和灵活性。本文深入探讨了微服务架构的设计理念、实施步骤以及面临的挑战,并提出了一套实用的策略和最佳实践,帮助后端开发者构建和维护高效的微服务系统。
|
4天前
|
负载均衡 算法 NoSQL
探索微服务架构下的服务发现与治理
【5月更文挑战第9天】 在当今的软件开发领域,微服务架构已成为构建可伸缩、灵活且容错的系统的首选模式。随着服务的增多,如何有效地进行服务发现与治理成为了关键的挑战。本文将深入探讨微服务环境中服务发现的机制和治理策略,分析不同服务发现工具的优缺点,并提出一种基于一致性哈希和健康检查相结合的服务治理方案,旨在提高系统的可用性和性能。