微服务架构案例(06):通过业务、应用、技术、存储方面,聊聊架构
一、架构的概念
架构分类可细化的分为业务架构、应用架构、技术选型、代码规划、部署环境架构等。业务架构是核心的驱动力,应用架构是实现的思路,技术选型落地是结果。根据用户需求,设计合理的业务架构,做出相应的应用架构流程,最后落地实施,完成项目。如何在架构的初期,预判业务发展的速度,保证架构可以稳定快速的扩展,支撑起业务发展,这个是软件开发者,特别是架构师,需要长期积累和修炼的核心能力。
二、业务架构
业务架构中包括业务规划、功能模块、流程设计,微服务架构模式中对整个系统的业务进行服务化拆分设计,把实际的业务抽象化,进而进行封装,优化服务结构。不需要最好的架构,只选则合适的架构,系统架构的原则都要以解决业务问题为核心目标,任何不基于业务做天马行空的架构都是对公司的不负责任。
三、应用架构
应用架构流程是基于业务架构来设计的,相辅相成的关系。每个应用可以作为独立的服务组件,把系统规划为一个个服务模块,进而进行开发,部署,运维等系列操作,所谓应用就是各个服务模块。首选要明确各个服务核心功能,其次确定各个服务间协调工作,保证服务的稳定性。微服务架构模式下,对系统进行水平拆分和垂直拆分,做到可以对任何高并发的服务模块进行独立扩展,灵活性非常好。
四、数据架构
数据架构是确定数据库模型的设计,不同业务场景下的数据可以选择不同种类的库来存储,例如搜索的数据可以使用ES,热点数据可以使用Redis,普通业务数据可以选择MySQL。
五、项目代码规划
1、分层结构设计
清晰的分层设计可以帮助快发人员快速的理解系统,缩短熟悉系统的时间。
2、模块依赖
给出模块依赖的明确顺序,比如接口(Web层)依赖服务层(Service层),服务实现(Impl)依赖持久层接口(Dao),持久层实现(DaoImpl)依赖表实体对象(Entity),避免系统陷入代码杂乱的坑中。
3、开发规范
每个项目开发必须要遵守统一的编码规范文档,统一命名格式,注释风格,这样可以方便其他人员快速阅读和理解代码逻辑。
六、技术选型落地
选择合适的基础框架,数据库,中间件,基于项目的开发规范,把应用架构完整的实现,这样项目就很难走偏。把握系统的高可用、高性能、扩展、伸缩、安全管理等方方面面的知识需要一个持久的积累和在实践中不断进步。
相关文章
- 【华为云技术分享】Nginx应用调优案例
- SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
- iOS开发那些事-Passbook详解与开发案例(附视频)
- 【技术与商业案例解读笔记】095:Google大数据三驾马车笔记
- 一个锁等待现象的诊断案例
- XAI之GS:全局代理(Global Surrogate,对黑盒机器学习执行模型可解释性的技术)的简介、常用工具包、案例应用之详细攻略
- ML之FE:在特征工程/数据预处理阶段对【数值型/数字型】特征变量进行处理的技术总结(类别化/特征分箱)、经验技巧、案例应用之详细攻略
- NLP:自然语言处理技术近十年发展技术更迭的简介、案例之详细攻略(持续更新)daiding待更新
- AI:人工智能领域具体应用场景案例介绍之以领域划分(CV领域/DS领域/NLP领域/金融领域/爬虫领域)、以项目划分(AI推荐/AI推断/AI法律咨询/AI挖掘)目录来理解技术交互流程
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之四、数据挖掘
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之三、区块链系
- CV之IE之NoGAN:基于fastai框架利用NoGAN算法实现图像增强技术(图片上色实现对旧图像和电影片段进行着色和修复,以爱因斯坦旧照/鲁迅旧照/清末官员生活场景旧照为例)案例应用
- CV之IC之VGG16:基于Keras框架利用卷积神经网络VGG16算法的迁移技术实现猫狗分类识别(图片数据增强→保存h5模型)案例训练过程记录
- XAI之GS:全局代理(Global Surrogate,对黑盒机器学习执行模型可解释性的技术)的简介、常用工具包、案例应用之详细攻略
- ML之Apriori:关联规则挖掘技术的简介、使用方法、案例应用之详细攻略
- ML之FE:在特征工程/数据预处理阶段对【类别型】特征变量进行处理的技术总结、经验技巧、案例应用之详细攻略
- NLP:自然语言处理技术中常用的文本特征表示方法(整数编码、one-hot编码法、BOW法、TF-IDF法、N-Gram法等)及其代码案例实现
- NLP:自然语言处理技术的简介、领域方向-细分任务及其评估标准、发展历史、案例应用之详细攻略
- Interview:算法岗位面试—11.15下午上海某航天***公司(国企)技术面之工业机器视觉认知、计算机视觉算法的理解、目标检测相关项目案例
- 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
- 【华为云技术分享】华为云鲲鹏云服务移植指南和实践案例(上)
- y133.第七章 服务网格与治理-Istio从入门到精通 -- Istio认证及配置案例(十九)
- 案例精析—2021语言与智能技术竞赛:多形态信息抽取任务