社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
互联网技术发展迅速的今天,微服务倍受关注:文章、博客、社交媒体讨论和会议演讲都在谈论。与此同时,也有持怀疑态度的软件社区人员认为微服务没什么新鲜可言。反对者声称它的思想只是面向服务架构的重塑。然而,无论是炒作还是怀疑,不可否认,微服务架构模式具有非常明显的优势 —- 特别是在实施敏捷开发和复杂的企业应用迭代开发方面。
从本篇文章开始,我们来开学了解学习微服务的相关知识。
我们先不问微服务是什么?微服务该如何实现?让我们从我们原本最熟悉的创建一个应用和一个普通的项目开始说起。
我们假设要开始开发一个打车应用,目标是与Uber和DiDi竞争。经过讨论和技术选型,我们开始手动开发生成一个新项目,该新应用有一个模块化的六边形架构,如下图所示:
该应用的核心是由模块实现的业务逻辑。它定义了服务、领域对象和事件。围绕核心的是与外部世界接口对接的适配器。适配器示例包括数据库访问组件、生产和消费消息的消息组件和暴露了 API 或实现了一个 UI 的 web 组件。
再比如,我们拿一个常见的互联网公司的静态逻辑架构来举例,我们通过如下的架构图将系统切分成五层,如下图所示:
如上我们从传统的构建项目应用和项目架构拆解的角度来给大家解释了什么是单体应用,单体的特点以及传统的应用的架构设计。类似的单体应用在我们以往的互联网发展和企业应用中使用的非常普遍,现在也仍然很多企业都是类似的单体应用。
但是,随着需求的增长,业务的变化,单体应用在慢慢发展和迭代后,也会遇到一些问题,单体应用的瓶颈会逐步显现。
【注:】本文以上文档,部分内容摘抄自《Docker微服务架构实践》,作者蒋彪。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!