课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构开发随着互联网的不断发展而被众多程序员用到不同的软件开发项目之中,下面我们就简单来了解一下,微服务架构开发都有哪些注意事项。
用清晰的思路构建新的服务
有人可能认为,采用新的服务端架构意味着需要长期暂停产品开发并且重写所有内容。但实际上这是一种误解,我们永远不应该为了构建新的服务而构建。每当我们建立一项新服务或采用一项新技术时,我们必须有一个清晰的产品理念或工程价值。产品价值是造福用户,与单体Node.js应用相比,新服务需要提供更多的价值或更好的性能。工程价值指的是使工程团队更好、更快的合作。如果构建一个既没有产品价值也没有工程价值的新服务,我们还不如仍然停留在单体应用中。
单一的持久化存储是有害的
为微服务建模只是微服务架构的一部分工作,另一大部分工作是为持久化存储的数据建模。跨服务共享持久数据存储似乎是集成微服务的简单方法,然而,它实际上是有害的,我们应该不惜一切代价避免。先,持久化数据存储与实现细节有关,跨服务共享数据存储将向整个系统公开服务的实现细节。如果服务更改了数据格式,或添加了缓存层,或切换到不同类型的数据库,那么其他服务也必须相应的更改,而这违反了松耦合原则。
另外,如何修改、描述和使用数据并不是一种服务行为。如果我们跨服务共享数据存储,意味着其他服务也必须复制这些服务行为,而这违反了高内聚原则,会将给定域中的行为泄露给多个服务。如果我们修改一个行为,将不得不同时修改所有这些服务。
在微服务体系架构中,只有一个服务应该负责特定类型的数据,所有其他服务都应该通过服务API请求数据,或者保留只读的非规范(可能是具化的)数据副本。
这听起来可能有点抽象,这里有一个具体的例子。假设我们正在构建一个新的推荐服务,需要来自发布数据表中的一些数据,该数据表目前存储在AWSDynamoDB中。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。