engineering-principles:微服务、API优先、REST、云服务、软件即服务(SaaS)

engineering-principles:微服务、API优先、REST、云服务、软件即服务(SaaS)

engineering-principles Our guidelines for building new applications and managing legacy systems engineering-principles 项目地址: https://gitcode.com/gh_mirrors/en/engineering-principles

项目介绍

Zalando是一家欧洲领先的在线时尚零售商,其工程原则是一套于2015年采用的技术和架构原则。这些原则旨在指导构建具有弹性、可扩展性、可维护性、内建质量以及可扩展至需求的应用程序。尽管这些原则现在(2020年)在某些方面不再完全适用,但它们依然是现代软件开发和架构设计中的重要参考。

项目技术分析

Zalando的工程原则集中在微服务架构上,提倡松散耦合的服务,使得系统在面对远程依赖失败时具有更高的弹性。以下是这些原则的技术细节:

  • 异步通信:为了减少远程系统调用导致的线程阻塞,Zalando采用异步事件通信机制。通过事件代理(如nakadi)发布和消费事件流,实现服务间的非阻塞通信。
  • 服务降级:在同步调用中,当远程依赖失败时,服务将降级直至依赖恢复。在异步处理场景中,服务有更大的灵活性,可以通过重试机制处理延迟。
  • 低技术耦合:采用如DNS服务发现等简单机制减少通信系统间的变化问题,并降低复杂性和依赖。
  • RESTful API与JSON负载:Zalando偏好使用REST风格的API和JSON负载,因为它们提供了更松散的客户端和服务器实现之间的耦合。
  • API优先:API设计先于代码实现,通过标准规范语言(如OpenAPI)定义API,并进行同行评审。
  • 服务大小:服务应根据域模型构建,围绕具有状态和行为的业务实体,如“订单”、“支付”或“价格”。
  • 技术选择:团队在选择技术栈的各个层级(入口点、业务逻辑、数据存储)时有很大的自由度。

项目及技术应用场景

Zalando的工程原则适用于构建大型分布式系统,特别是在需要高可用性和灵活性的在线零售环境中。以下是几个应用场景:

  1. 在线零售平台:用于构建和扩展电子商务平台的微服务架构。
  2. 第三方服务集成:通过API优先的原则,方便与其他系统和第三方服务集成。
  3. 软件开发流程:指导开发团队在敏捷开发过程中遵循最佳实践。
  4. 云服务部署:支持服务的云原生部署,利用云服务提供的高可用性和弹性。

项目特点

Zalando的工程原则具有以下显著特点:

  • 弹性与稳定性:通过异步通信和服务降级机制,系统在面对故障时仍能保持稳定运行。
  • 灵活性与可扩展性:松散耦合的服务和API优先的设计允许系统快速适应变化和扩展。
  • 质量和一致性:通过API同行评审和标准化的API设计,确保API质量一致,易于维护和演进。
  • 安全性:始终使用SSL,并确保服务调用者经过身份验证和授权。
  • 敏捷开发:鼓励开发团队关注结果而非过程,采用敏捷开发方法提高效率。

Zalando的工程原则是一套值得参考的软件开发和架构设计原则,它们不仅适用于在线零售行业,也为其他开发大型分布式系统的团队提供了宝贵的经验。通过遵循这些原则,团队可以构建出更具弹性、可扩展性和安全性的系统,同时保持高质量和一致性的API设计。

engineering-principles Our guidelines for building new applications and managing legacy systems engineering-principles 项目地址: https://gitcode.com/gh_mirrors/en/engineering-principles

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张姿桃Erwin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值