开发者社区> 超努力的写代码> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 日10亿级处理,基于云的微服务架构(3)
+关注继续查看

10.6     基础服务

 

 

基础服务分为四部分,分别是配置中心、安全数据服务、数据存储服务、订单服务,如图 10.7 所示。基础服务大多和存储有关,提供高性能、高可用的服务。


 

image.png


10.6.1    配置中心

 

 

配置中心提供高可用的配置数据存储服务,几乎所有的应用和服务都依赖配置中心。配置中心主要解决基础数据和配置数据的单点依赖及节点之间的数据同步问题,以便更好地支持各个服务的水平伸缩。配置中心可以配置主键、索引字段、唯一约束、每个字段的类型约束等,其功能类似于数据库,开放全量和变量的同步接口,提供多语言的客户端 SDK,同步全量或变量数据,根据服务端的配置,在内存中建立数据索引,缓存数据,并在本地文件中持久化缓存的备份,如图 10.8 所示。



image.png


一个依赖配置中心的服务,在启动时会先查找本地文件中有没有配置数据的缓存,如果有,则从文件中加载配置数据到内存中,启动服务,接着调用变量接口对比本地数据和配置中心的数据是否是同一版本,如果数据有变化,则更新数据到本地缓存。如果本地文件中没有配置数据的缓存,则先调用一次全量接口缓存所有配置数据到本地缓存。即使配置中心的所有节点都无法运行,也不影响各个依赖它服务的现有节点的正常工作。

 

因为每个服务都会缓存依赖的配置数据,所以对配置中心的性能要求不是太高,我们用 AWS RDS 来解决配置数据存储的高可用问题。AWS RDS 是一个托管关系数据库服务。

 

10.6.2    安全数据服务

 

 

高可用的安全数据服务提供数据加密和解密服务,定时清理过期的数据,解决敏感数据的安全临时存储和传输问题,比如银行卡和信用卡信息的临时存储和传输。需要传输敏感信息时,在数据传输方调用数据加密服务的加密接口,并明确信息有效时间,加密服务会将信息加密后存储,并返回一个全局唯一 ID,数据传输方发送这个唯一 ID 给数据接收方,如果数据接收方收到这个 ID 之后,调用数据解密接口,则加密服务会根据 ID 找到相应的数据,返回解密之后的数据。

 

 

10.6.3    数据存储服务

 

Dstorage 提供高可用的酒店动态数据存储服务,可以解决酒店海量动态数据存储问题,提供高性能的数据存取接口,提供变量数据的同步接口。根据性能和容量需求,用户可选的存储引擎有 RedisCodisArdbDynamoDB 等。DStorage 支持多可用区部署,通过变化发现服务,实现多可用区的数据同步,保证数据最终一致性。

 

Dcontent 提供高可用的酒店静态数据缓存服务可以解决酒店海量静态数据的缓存问题。底层支持的存储引擎有 Ardb、Redis 等。DContent 支持一主多从多可用区部署,也支持多主多可用区部署,保证数据最终一致性。

 

AWS S3 提供高可用的文件存储服务,可以存储文件数据,如图片、视频、日志文件、备份数据等。

 

 

10.6.4    订单服务

 

 

由于订单数据比较特殊,所以将与订单相关的功能单独出来,作为独立服务。订单服务聚合所有系统节点的订单信息,让订单比较容易追溯,提供高可用的订单存储和查询服务,解决订单数据的单点存储问题,更好地支持其他依赖订单数据的系统进行水平扩展和迁移。订单服务对可用性要求极高,底层存储依赖 AWS RDS,在全球每个可能用到订单服务的可用区部署订单服务集群。

 

 

10.7     服务降级

 

 

根据业务要求对每个服务及其依赖的资源按重要程度进行分级,限制每个依赖服务的超时时间,定义各级服务的 SLA 指标,对强依赖的基础服务或资源实行更高的 SLA 标准,根据 SLA 指标制定容错方案。

 

制定服务自动降级策略,设置服务开关,关键时刻“弃车保帅”,对弱依赖的服务进行降级,比如将日志服务降级以保障重要的服务不受影响。

 

对超大数据或流量用户进行隔离,在隔离的环境中为这部分用户提供独立的服务,避免影响其他正常用户服务。

 

 

10.8     自动化

 

 

微服务化后,服务的数量很多,为了节约开发成本,必须尽可能地自动化完成一些有固定步骤的工作,如自动化测试和自动化部署,如图 10.9 所示。


image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云原生架构下日志服务数据预处理
本篇实践将以某家国际教育机构为例,为大家详细介绍云原生架构下日志服务数据预处理以及对应的解决方案和最佳实践操作手册,方便用户快速对号入座,解决云原生架构下的常见日志难题。
160 0
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十七)
Spring Cloud微服务架构设计与开发实战课时3.6—Spring Cloud实战Sentinel熔断限流。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
268 0
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十九)
Spring Cloud微服务架构设计与开发实战课时3.8—阿里巴巴开源微服务分布式事务框架。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
1954 0
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十四)
Spring Cloud微服务架构设计与开发实战课时3.3—实战Spring Cloud微服务注册到Nacos注册中心。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
153 0
云原生架构下日志服务数据预处理
某家国际教育机构,提供在线教育服务,其用户主要分布在中美两地,该企业拥抱云计算,在架构设计上也全面采用了云原生服务,本实践将重点聚焦该客户以下几个典型场景: 场景一:跨地域/跨账号数据汇集 场景二:数据内容富化(join维表) 场景三:数据投递/归档、入湖分析 场景四:统一采集,按业务分发分析 场景五:数据监控与智能告警
118 0
《云计算:原理与范式》一1.3 云计算的架构与类型
本节书摘来自华章出版社《云计算:原理与范式》一书中的第1章,第1.3节,作者 (澳)Rajkumar Buyya James Broberg Andrzej Goscinski,更多章节内容可以访问云栖社区“华章计算机”公众号查看
2904 0
微信小程序中使用co来处理异步流程
co是一个基于ES6 Generator特性实现的【异步流程同步化】写法的工具库。 co需要使用Promise特性,所以,我们先来创建一个使用Promise来处理的异步方法: function myAsyncFunc() { return new ...
784 0
基于AWS的时序处理应用架构
当数据用来作为定期连续测量时,它被称为时间序列信息。通过AWS的独特定位解决了基于时间序列的信息处理带来了规模化挑战。   这种弹性是通过AutoScaling组进行采集处理,Amazon Elastic MapReduce定时作业的AWS数据管道,系统间数据编排的AWS数据管道,大规模数据分析的AmazonRedshift来实现的。
919 0
基于AWS云服务的Web应用架构
高可用和可扩展的web应用是复杂而昂贵的。密集的高峰时段和流量模式的剧烈波动导致昂贵的硬件利用率低下。Amazon 云服务为web 应用提供高可靠的,可扩展的,安全的高性能基础设施,同时保证了弹性,根据客户的流量变化而实时调整规模进而降低了成本。
854 0
1940
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载