零、序言

微服务是这个街区的新生代。它们是解决问题的一种方式,但并不意味着它们永远是最好的解决方案。微服务是一个完整而复杂的体系结构,您需要深入了解它,才能在现实世界中成功地应用它们。

我们知道,理解和准备好微服务的一切需要时间,而且可能非常复杂,因此我们写了这本书——给你一个微服务的小指南,从 a 到 Z。这本书将只是你对微服务所能做的一个粗略的了解,但我们希望,这将至少是一个有益的开始进入这个世界。

在本书中,我们将通过解释该体系结构的基础以及您需要具备的基本知识开始我们的旅程。随着你读完这本书,我们将增加难度。然而,我们将指导您完成该过程的每个步骤,因此在本书的结尾,您将能够了解微服务体系结构是否是解决您的问题的最佳解决方案,以及如何应用该体系结构。

享受你的微服务!

这本书涵盖的内容

第一章什么是微服务?将教您所有微服务的基础知识。

第 2 章开发环境将带您完成开发机器的设置,成功构建微服务。

第 3 章 ALE T1 页,AUTT2 应用程序设计,将帮助您开始设计应用程序,为您的项目创建基础。

第 4 章测试和质量控制介绍了测试应用程序的重要性,以及如何在应用程序中添加测试。

第 5 章微服务开发将涵盖构建微服务应用程序,并解释涉及的每个步骤。

第 6 章监控介绍了如何监控应用程序,以便您随时了解应用程序的运行情况。

第 7 章安全重点介绍如何为应用程序增加一层复杂性,使其更加安全。

第 8 章部署解释了如何成功部署应用程序。

第 9 章从单体到微服务讨论了如何将单体应用程序转换为微服务的示例。

第 10 章可扩展性策略概述了如何创建可扩展应用程序。

第 11 章最佳实践和约定将更新您在应用程序中应使用的最佳实践和约定的知识。

第 12 章云和 DevOps关注不同的云提供商和 DevOps 世界。

这本书你需要什么

要阅读本书,您需要一台连接互联网的计算机来下载所需的软件和 Docker 图像。在某些情况下,您至少需要一个文本编辑器或 IDE,我们强烈建议您使用 PHPStorm。

这本书是给谁的

这本书是为那些希望在职业生涯中领先一步并开始构建成功的可伸缩和可维护应用程序的经验丰富的 PHP 开发人员准备的,所有这些应用程序都是基于微服务的。阅读本书后,他们将能够知道微服务是否是解决他们问题的最佳解决方案,如果是这样,则创建一个成功的应用程序。

公约

在本书中,您将发现许多文本样式可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。

文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄如下所示:“下一行代码读取链接并将其分配给BeautifulSoup函数。”

代码块设置如下:

    version: '2'
    services:

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

    version: '2'
    services:

任何命令行输入或输出的编写方式如下:

$ uname -r 
3.10.0-229.el7.x86_64 

新术语重要词语以粗体显示。您在屏幕上看到的单词,例如,在菜单或对话框中,会出现在如下文本中:“单击工具栏上的 whale 以获取首选项……和其他选项。”

警告或重要注释显示在这样的框中。

提示

提示和技巧如下所示。

读者反馈

我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢还是不喜欢。读者反馈对我们来说很重要,因为它可以帮助我们开发出您将真正从中获得最大收益的标题。要向我们发送一般反馈,只需发送电子邮件 feedback@packtpub.com,并在邮件主题中提及该书的标题。如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南www.packtpub.com/authors

客户支持

既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您的帐户下载本书的示例代码文件 http://www.packtpub.com 。如果您在其他地方购买了本书,您可以访问http://www.packtpub.com/support 并注册,将文件直接通过电子邮件发送给您。

您可以通过以下步骤下载代码文件:

  1. 使用您的电子邮件地址和密码登录或注册我们的网站。
  2. 将鼠标指针悬停在顶部的支架选项卡上。
  3. 点击代码下载&勘误表
  4. 搜索框中输入图书名称。
  5. 选择要下载代码文件的书籍。
  6. 从您购买本书的下拉菜单中选择。
  7. 点击代码下载

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/PHP-Microservices 。我们在上还提供了丰富的书籍和视频目录中的其他代码包 https://github.com/PacktPublishing/ 。看看他们!

勘误表

虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/submit-errata ,选择您的书籍,点击勘误表提交表链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上载到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请转至https://www.packtpub.com/books/content/support 并在搜索字段中输入图书名称。所需信息将出现在勘误表部分下。

盗版

在互联网上盗版版权材料是所有媒体都面临的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。

请联系我们 copyright@packtpub.com 与怀疑盗版材料的链接。

我们感谢您在保护我们的作者方面提供的帮助以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有疑问,请联系我们 questions@packtpub.com,我们会尽力解决这个问题。