Searching...
简体中文
English
Español
简体中文
Français
Deutsch
日本語
Português
Italiano
한국어
Русский
Nederlands
العربية
Polski
हिन्दी
Tiếng Việt
Svenska
Ελληνικά
Türkçe
ไทย
Čeština
Română
Magyar
Українська
Bahasa Indonesia
Dansk
Suomi
Български
עברית
Norsk
Hrvatski
Català
Slovenčina
Lietuvių
Slovenščina
Српски
Eesti
Latviešu
فارسی
മലയാളം
தமிழ்
اردو
Production-Ready Microservices

Production-Ready Microservices

Building Standardized Systems Across an Engineering Organization
by Susan Fowler 2017 170 pages
Technology
Technical
Programming
8 minutes

重点摘要

1. 微服务:软件架构的范式转变

微服务的基本概念很简单:它是一个只做一件事的小应用程序,并且把这件事做得很好。

微服务革新了软件开发。 它们将单体应用程序分解为更小的、独立的服务,每个服务负责特定的功能。这种架构方法提供了许多好处:

  • 提高开发人员的生产力和速度
  • 改善可扩展性和灵活性
  • 更容易采用新技术
  • 减少技术债务

然而,微服务也带来了新的挑战:

  • 增加了操作复杂性
  • 可能导致组织孤岛
  • 更需要标准化和协调

从单体架构转向微服务需要仔细的规划和公司范围内的重组承诺,包括软件架构和组织结构的重组。

2. 微服务生态系统的四层模型

微服务不是孤立存在的。微服务构建、运行和交互的环境就是它们的生存之地。

理解微服务生态系统至关重要。 四层模型提供了一个全面的框架,用于概念化和管理微服务架构:

  1. 硬件层:物理服务器、操作系统和资源管理
  2. 通信层:网络、DNS、服务发现和负载均衡
  3. 应用平台层:开发工具、部署管道和监控
  4. 微服务层:实际的微服务及其配置

每一层在整体生态系统中都起着至关重要的作用:

  • 底层提供基础设施
  • 上层专注于服务特定的功能和业务逻辑
  • 明确的关注点分离有助于更好的管理和扩展

有效的微服务架构需要仔细考虑和优化所有四层,以确保服务之间的顺利操作和无缝交互。

3. 生产就绪:微服务标准化的关键

一个生产就绪的应用程序或服务是可以信赖的,能够处理生产流量。

生产就绪确保微服务的可靠性。 为了实现这一点,微服务必须遵循八个关键原则:

  1. 稳定性
  2. 可靠性
  3. 可扩展性
  4. 容错性
  5. 灾难准备
  6. 性能
  7. 监控
  8. 文档

这些原则共同作用以:

  • 提高整体系统的可用性
  • 降低停机和故障的风险
  • 提高开发人员的生产力和信心

实施生产就绪标准需要:

  • 各级组织的认同
  • 明确传达期望和要求
  • 定期审计和评审以确保合规
  • 随着生态系统的发展不断改进和适应

4. 稳定性和可靠性:微服务架构的基石

一个稳定的微服务是指其开发、部署、新技术的采用以及其他服务的退役或弃用不会导致整个微服务生态系统的不稳定。

稳定性和可靠性构建信任的基础。 为了构建稳定和可靠的微服务,需关注:

  1. 标准化的开发周期
  2. 全面的部署管道(预发布、金丝雀发布、生产发布)
  3. 依赖管理和故障缓解
  4. 稳定的路由和发现机制
  5. 谨慎的退役和弃用程序

确保稳定性和可靠性的关键实践:

  • 实施全面的代码测试(单元测试、集成测试、端到端测试)
  • 使用自动化的构建和发布流程
  • 为依赖项实施防御性缓存和回退机制
  • 定期审查和更新服务架构
  • 维护团队之间的清晰沟通渠道

通过优先考虑稳定性和可靠性,组织可以创建一个能够应对快速开发和变化需求挑战的强大微服务生态系统。

5. 可扩展性和性能:为增长和效率而设计

为了确保我们的微服务具有可扩展性和高性能,我们需要对每个微服务提出若干要求。

可扩展性和性能驱动效率。 为了构建可扩展和高性能的微服务:

  1. 理解定性和定量的增长规模
  2. 高效使用硬件资源
  3. 识别和解决资源瓶颈
  4. 实施自动化容量规划
  5. 确保依赖项能够随服务扩展
  6. 设计高效的任务处理和处理机制

可扩展性和性能的关键考虑因素:

  • 选择合适的编程语言和框架
  • 实施水平扩展能力
  • 优化数据库设计和使用
  • 监控和调整以应对变化的流量模式
  • 定期进行负载测试和性能调优

通过从一开始就关注可扩展性和性能,组织可以创建能够优雅地处理增加的需求并在增长过程中保持高效的微服务。

6. 容错性和灾难准备:拥抱失败

微服务会失败,它们会经常失败,任何潜在的失败场景都会在微服务的生命周期内某个时刻发生。

为失败做好准备以确保成功。 构建容错和灾难准备的微服务包括:

  1. 识别和消除单点故障
  2. 记录所有可能的失败场景
  3. 实施全面的弹性测试
  4. 自动化故障检测和修复
  5. 建立明确的事件响应程序

容错的基本实践:

  • 定期进行架构审查以识别漏洞
  • 实施断路器和回退机制
  • 进行混沌测试以模拟真实世界的失败
  • 维护最新的运行手册以应对事件
  • 培养无责文化,鼓励从失败中学习

通过系统地接受失败的现实并为之做好准备,组织可以创建能够应对意外挑战并保持高可用性的强大微服务。

7. 监控:微服务的脉搏

微服务生态系统中的大多数停机都是由错误的部署引起的。第二常见的停机原因是缺乏适当的监控。

有效的监控对微服务的健康至关重要。 要实施生产就绪的监控:

  1. 识别并跟踪各级关键指标(主机、基础设施、微服务)
  2. 实施全面的日志记录
  3. 创建清晰、信息丰富的仪表板
  4. 设置可操作的警报并设定适当的阈值
  5. 建立可持续的值班轮换

微服务监控的最佳实践:

  • 记录所有相关信息而不影响安全性或性能
  • 设计易于一目了然的仪表板
  • 确保所有警报都是可操作的并链接到运行手册
  • 定期审查和更新监控策略
  • 培养对服务健康状况的共同责任感

通过实施强大的监控实践,组织可以快速检测和解决问题,保持微服务的高可用性和性能。

8. 文档和理解:微服务成功的无名英雄

总是给一个洋葱。

文档和理解推动组织对齐。 为了确保全面的文档和理解:

  1. 维护集中、最新的所有微服务文档
  2. 包括关键元素:描述、架构图、联系信息、入职指南、API详情和运行手册
  3. 定期进行架构审查
  4. 进行生产就绪审计
  5. 创建和维护生产就绪路线图
  6. 尽可能自动化生产就绪检查

改进文档和理解的策略:

  • 将文档更新作为开发工作流程的一部分
  • 使用清晰、无行话的语言,使所有利益相关者都能理解
  • 实施常见问题解答部分以解决常见问题
  • 定期在团队之间进行知识共享会议
  • 将生产就绪与组织的OKR和规划周期联系起来

通过优先考虑文档和理解,组织可以减少技术债务,改善跨团队协作,并确保微服务生态系统的长期成功。

Last updated:

评论

3.82 out of 5
Average of 100+ ratings from Goodreads and Amazon.

苏珊·福勒的《生产就绪的微服务》获得了褒贬不一的评价。读者们欣赏其对生产就绪的高层次概述和检查清单,认为这对微服务新手的管理者和工程师非常有用。然而,许多人批评其缺乏技术深度和实际例子。该书因其对组织方面和生产就绪的关注而受到赞扬,但有些人觉得内容重复且过于抽象。推荐作为更技术性微服务书籍的补充阅读,特别适合管理角色或寻求对微服务生态系统广泛理解的人士。

关于作者

苏珊·福勒是一位软件工程师和作家,以其在微服务领域的工作和对职场平等的倡导而闻名。她在发布了一篇博客文章后获得了广泛关注,文章详细描述了她在优步遭遇性骚扰和歧视的经历,这导致了公司文化的重大变化。福勒的背景包括在多家科技公司担任职务,负责大规模分布式系统和微服务的工作。她的书《生产就绪的微服务》源于她在该领域的实践经验。福勒还为多家出版物撰稿,并因其在技术和文化问题上的贡献而受到认可。

0:00
-0:00
1x
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Listening – audio summariesListen to the first takeaway of every book for free, upgrade to Pro for unlimited listening.
Unlock unlimited listening
Your first week's on us
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 5: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Sep 26,
cancel anytime before.
What our users say
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Compare Features
Free Pro
Read full text summaries
Listen to full summaries
Unlimited Bookmarks
Unlimited History
Benefits
Get Ahead in Your Career
People who read at least 7 business books per year earn 2.3 times more on average than those who only read one book per year.
Unlock Knowledge Faster (or Read any book in 10 hours minutes)
How would your life change if we gave you the superpower to read 10 books per month?
Access 12,000+ hours of audio
Access almost unlimited content—if you listen to 1 hour daily, it’ll take you 33 years to listen to all of it.
Priority 24/7 AI-powered and human support
If you have any questions or issues, our AI can resolve 90% of the issues, and we respond in 2 hours during office hours: Mon-Fri 9 AM - 9 PM PT.
New features and books every week
We are a fast-paced company and continuously add more books and features on a weekly basis.
Fun Fact
2.8x
Pro users consume 2.8x more books than free users.
Interesting Stats
Reduced Stress: Reading for just 6 minutes can reduce stress levels by 68%
Reading can boost emotional development and career prospects by 50% to 100%
Vocabulary Expansion: Reading for 20 minutes a day are exposed to about 1.8 million words per year
Improved Cognitive Function: Reading can help reduce mental decline in old age by up to 32%.
Better Sleep: 50% of people who read before bed report better sleep.
Can I switch plans later?
Yes, you can easily switch between plans.
Is it easy to cancel?
Yes, it's just a couple of clicks. Simply go to Manage Subscription in the upper-right menu.
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.