微服务落地,我们在考虑什么?
这里给出我们的技术栈选型框架(仅限我们熟悉的内容),暂时不涉及技术框架的对比说明。
基于消息机制的分布式事务处理(遵循CAP或者BASE理论模型的实现)
我们在落地的过程中,根据团队技术特点开发阶段重点选择了Spring Cloud中涵盖的技术栈。方便易用,能够快速入手。运行阶段选择具备服务编排能力的Kubernetes容器化运行环境,并且结合Devops工具链能够快速迭代部署。 服务接口设计 服务接口是对外展现业务逻辑的唯一入口,接口定义的规范与否也是微服务落地的关键指标之一,我们在实践的过程中参考了多个开源项目的接口设计,针对任何一个资源对象,整体分为几类场景:资源集合类操作,资源实体操作,异常处理,参数处理,统一数据返回,审计日志以及其他具体场景。 统一的接口请求与响应标准 其中业务单元绝大多数端口围绕着资源集合类、资源实体类进行操作,因此我们从restful接口规范出发,结合具体场景,规范了请求方式,请求url,请求参数,请求header,响应header,响应值等信息。 请求参数涵盖默认语义,包括:Get(获取信息),Post(创建),Put(全量修改),Patch(部分修改),Delete(删除) 以Students实体对象的新建为例,给出请求与响应标准。 URL URL请求包括三部分:请求方式,统一前缀以及具体url,统一前缀具备一定含义的命名规则,包括api申明,供应商标识,版本说明等必要信息,例如: Post /api/cloud/v1/students?exist={skip,replace} 请求header
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |