开发者社区> 云豹kj的晨曦> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

语音交友系统开发,服务当拆则拆不受其乱

简介: 语音交友系统开发,服务当拆则拆不受其乱
+关注继续查看

单体架构和微服务架构是语音交友系统开发常用的两种架构类型,在系统运行初期其实应该是以单体架构为先的,但由于用户数量的不断累积,数据量会大幅度增加,单体架构便逐渐丧失其优势,直至无法支撑系统的正常运行。

这时微服务架构便更具优势,要想在语音交友系统开发中实现微服务架构就得对服务进行拆分,服务拆分应该逐步进行、持续演进,当拆则拆才能不受其乱。在语音交友系统开发中实现服务拆分需要遵循一些原则。

一、闭包原则

在语音交友系统开发中拆分后的各个微服务应该实现闭包性,当对某一微服务进行修改时,不需要且不会影响到其他微服务。

二、单一服务内部功能高内聚低耦合

拆分后的各个微服务仅需完整自身职责内的任务,对于不在自身职责内的任务则不进行处理,而是交由其他对应的服务器进行任务处理。

三、避免环形依赖与双向依赖

如果在拆分后的微服务中存在环形依赖或双向依赖,则证明服务拆分不明确,各个功能的边界没能实现清晰地划分。

四、服务接口的定义要具备可扩展性

在语音交友系统开发中为保证服务间跨进程网络通信的实现,需要让服务接口的定义具备可扩展性。

五、服务自理、接口隔离原则

服务拆分后应该尽可能消除对其他服务的强依赖,这样才能提升系统的稳定性,即便要对接其他服务也应该实现标准的接口隔离,这样才能实现语音交友系统开发以服务为单位持续交付。

六、持续演进原则

由于语音交友系统开发并不是一成不变的,所以微服务的拆分也并不是一次性完成的,为了实现更好的拆分效果,应该保证服务拆分的持续演进性,避免服务数量的骤然增加。

七、阶段性合并

在语音交友系统开发中,如果服务拆分边界由于某种原因出现了不清晰的情况,则需要重新梳理该服务的领域边界并进行纠正,以保证服务拆分的合理性。

在语音交友系统开发中,微服务拆分并不是随时都可以的,需要考虑合适的时机点,而且服务拆分的落地还需要提前准备好配套的基础设置,这样才能实现更好地服务拆分效果。关于语音交友系统开发,还有很多需要我们了解和掌握的知识点。

声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权

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

相关文章
Win系统 - 键盘失灵?说好了,不哭!
Win系统 - 键盘失灵?说好了,不哭!
34 0
C语言-一维指针定义与使用
C语言-一维指针定义与使用
47 0
天猫精灵语音开发-第二天
图文详解如何开发天猫精灵语音应用,以及阿里云云开发平台的基本使用,最后将介绍如何把使用阿里云云开发平台做后台开发天猫精灵应用
96 0
语音识别服务分离计算内核
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 背景最近研究的同事对识别内核做了一些优化,将原先集成在casrserver的内核计算逻辑单独抽离出来做成了服务并且测试后性能有提升,需要casrserver服务配合做一些改造,我之前也有过类似的想法,这次正好识别工程团队没有人力支持,加上我之前维护过casrserver, 于是就去协助casrserver改造了。
584 0
进一步理解指针:一维数组和二维数组转换
先看下列代码的输出是什么? int main() {     int m[5] = { 0,1,2,3,4 };     int* p = (int*)(&m+1);     printf("%d,%d\n", *(m+1), *(p-1));     return 0; } 要知道这个输出,最关键的是要理解指针操作的“加”和“减”,假设有一指针ptr,则“ptr”中的“1”是指ptr所指类型的大小。
684 0
265
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载