微服务架构入门简介

目标:

  • 掌握微服务架构的相关概念
  • 掌握微服务架构设计原则

行业分类:

        传统软件行业:面向企业开发应用软件,软件的最终使用者为企业内部员工。

        互联网软件行业:面向广大互联网市场开发软件,软件的最终使用者为互联网的所有用户。

 两种分类的对比:

比较项

传统软件行业

互联网软件行业

面向用户

企业内部用户

互联网线上用户

用户量

庞大

并发考虑

少/几乎不用考虑

必须考虑

项目代码量

数据量

海量数据

架构方式

单体式架构

分布式微服务架构

开发团队

单个团队

多个团队

部署

单个服务器

集群服务器

运维复杂度

架构分类:

        软件架构分类

单体式架构:
项目迭代不灵活
项目组责任、权限不清
项目部署配置不灵活
微服务架构:
项目复杂度降低
团队界限明确
扩展灵活

                  图示: 

 相关概念

  • Provider和Consumer
  • RPC
  • 分布式
  • 集群

1.是分布式与集群用一张图示意: 

        概念: 

                集群:单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几个节点就相当于提升了这么多倍)。

                分布式:将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。

2.RPC

        RPC:分布式意味着物理节点的隔离,隔离就需要通信,通信的解决方案之一就是RPC,所以RPCRemote Procedure Call,远程过程调用)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。

常见架构介绍:

        Dubbo/Dubbox:

  •                 http://dubbo.io/
  •                 https://github.com/dangdangdotcom/dubbox
  •                 区别:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbox为其升级版,由当当网进行改良。

                SpringCloud :

  • http://projects.spring.io/spring-cloud/
  •    SpringCloud是基于SpringBoot基础上构建的,用于快速构建分布式系统的通用模式的工具集。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、等组件。 

 微服务架构设计原则:

  • 围绕业务切分
  • 单一职责
  • 谁创建,谁负责

 微服务项目实现步骤:

               1. 选择微服务框架:

  • Dubbo/Dubbox
  •  Spring Cloud

                2.根据业务拆分项目

                3.选择部署策略:Docker虚拟化部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值