使用便利贴, 团队按照事件可能发生的大致顺序制定策略和安排事件. 事件是自包含的,描述时不考虑实现细节. 做这个练习的时候, 绘制因果关系图有助于探究事件发生的时间和顺序. 一旦所有事件都被记录下来,团队就会探索在该上下文中可能出现的问题. 这有助于识别丢失的事件, 哪一种是一种强大的技术来探索边界条件和假设,这些条件和假设会影响对构建软件的复杂程度的实际估计.
下一步是记录用户角色、命令和聚合. 团队现在可以看到整个系统或产品如何工作以满足所有需求的大局. 这种方法有助于全球最大体育平台微服务,因为每个事件或少数事件都可以为微服务明确定义. 技术和非技术涉众都可以使用事件风暴, 因为整个系统是由它的事件描述的. 由于没有讨论技术实现细节,这消除了涉众参与全球最大体育平台过程的障碍. 这种方法也适用于现有系统或新应用程序.
构建微服务时的全球最大体育平台准则
一旦团队定义并组织了所有的服务, 他们可以专注于每个微服务的技术细节. 在构建微服务时,我们提供了以下指导:
开发RESTful应用程序编程接口(API)
每个微服务都需要有一种机制来发送和消费数据,并与其他服务集成. 确保顺利整合, 建议使用适当的功能和响应数据及格式公开API.
有效管理交通
如果微服务需要处理来自其他服务的数千或数百万个请求, 它将无法处理负载,并且在满足其他服务的需求方面将变得无效. 我们建议使用消息传递和通信服务,如RabbitMQ或Redis来处理流量负载.
保持个体状态
如果服务需要保持状态, 然后,该服务可以定义满足其需求的数据库需求. 数据库不应该在微服务之间共享, 因为这违背了脱钩的原则. 一个微服务中的数据库表更改可能会对另一个服务产生负面影响.
利用容器进行部署
我们建议在容器中部署微服务,因此只有一个工具, 比如Docker或OpenShift这样的容器化工具, 需要部署整个系统或产品吗.
集成到DevSecOps管道中
每个微服务都应该维护自己独立的构建,并集成到整个DevSecOps CI/CD管道中. 这使得在每个单独的服务上执行自动化测试以及根据需要隔离和修复bug或错误变得容易.