什么是微服务

子凡 2019-06-20 10:31:59
问答

微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务

微服务就是将一个单体架构的应用按业务划分为一个个的独立运行的程序即服务,它们之间通过 HTTP 协议进行通信(也可以采用消息队列来通信,如 RocketMQ,Kafaka 等),可以采用不同的编程语言,使用不同的存储技术,自动化部署(如 Jenkins)减少人为控制,降低出错概率。服务数量越多,管理起来越复杂,因此采用集中化管理。例如 Eureka,Zookeeper 等都是比较常见的服务集中化管理框架。

微服务的优势

1.将复杂的业务拆分成多个小的业务,每个业务拆分成一个服务,将复杂的问题简单化。利于分工,降低新人的学习成本。

2.微服务系统是分布式系统,业务与业务之间完全解耦,随着业务的增加可以根据业务再拆分,具有极强的横向扩展能力。面对搞并发的场景可以将服务集群化部署,加强系统负载能力。

3.服务间采用 HTTP 协议通信,服务与服务之间完全独立。每个服务可以根据业务场景选取合适的编程语言和数据库。

4.微服务每个服务都是独立部署的,每个服务的修改和部署对其他服务没有影响。

随着移动互联网的发展,企业被迫将其应用迁移至现代化 UI 界面架构以便能兼容移动设备,这要求企业能实现应用功能的快速上线。许多企业在 SOA 投资中得到的回报有限,SOA 可以通过标准化服务接口实现能力的重用,但对于快速变化的需求,受到整体式应用的限制,有时候显得力不从心。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • SkyDNS

    SkyDNS是什么

    SkyDNS是一个轻量级的DNS服务器,专为服务发现和基于etcd的配置而设计。它能够实时更新DNS记录以适应动态的云环境。在微服务、容器化环境和动态云计算中,SkyDNS提供了一个高效、灵活和可扩展的服务发现解决方案。
  • CoreDNS

    CoreDNS是什么

    CoreDNS是一个现代、模块化的DNS服务器,特别适合容器化环境如Kubernetes。它通过插件系统提供高度的灵活性和定制性,允许用户根据需求扩展功能。与传统DNS相比,CoreDNS提供更高的性能和灵活性,满足现代互联网架构的需求。
  • Scala 语言 Scala language

    Scala语言适合干什么

    Scala是一种功能齐全的函数式编程语言,非常适合开发需要复杂数据转换和处理的应用,如数据分析、数据挖掘等领域;体式内置了Actor模型,使得它在处理并发和并行编程方面表现出色;同时在大数据处理,机器学习,微服务,Web开发都很适合。
  • RPC 服务器 RPC server

    什么是RPC服务器

    RPC服务器是一种运行在服务器端的应用程序,它提供远程计算服务,它允许客户端应用程序通过RPC协议发送请求,并返回结果,RPC服务器通常是一种多线程应用程序,可以同时处理多个客户端的请求。
  • 无服务器计算 Serverless Computing

    无服务器计算是什么

    无服务器计算是在无需最终用户管理的基础设施上托管应用程序的新方式,是IaaS(基础设施即服务)演进的下一个阶段。它将底层基础架构从开发人员中分离出来,基本上虚拟化了运行时(虚拟机的一种,一般指进程级别的虚拟机)和运营管理。
  • Microservice Architecture 微服务架构

    微服务架构和分布式架构的区别是什么

    微服务架构和分布式架构的区别是部署方式不一样。分布式是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。微服务的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。