[微服务] 02.微服务入门

微服务入门【微服务以及微服务架构】

微服务概述

1. 微服务是什么?

http://blog.cuicc.com/blog/2015/07/22/microservices) 【中文】

  1. 微服务核心就是把传统的单机应用,根据业务将单机应用拆分为一个一个的服务,彻底的解耦,每一个服务都是提供特定的功能,一个服务只做一件事,类似进程,每个服务都能够单独部署,甚至可以拥有自己的数据库。这样的一个一个的小服务就是 微服务.
  2. 比如传统的单机电商应用, tulingshop 里面有 订单/支付/库存/物流/积分等模块(理解为servcie) 我们根据业务模型来拆分,可以拆分为订单服务、支付服务、库存服务、物流服务、积分服务
  3. 若不拆分的时候,我的非核心业务积分模块 出现了重大bug 导致系统内存溢出,导致整个服务宕机.
    ,若拆分之后,只是说我的积分微服务不可用,我的整个系统核心功能还是能使用.
  4. 图解:传统的all in one 系统 all in one 的集群版本 微服务架构版本

在这里插入图片描述

  1. all in on 工程的数据存储 以及微服务的数据存储

在这里插入图片描述

2. 微服务架构是什么?

微服务架构是一个架构风格, 提倡
1. 将一个单一应用程序开发为一组小型服务.
2. 每个服务运行在自己的进程中
3. 服务之间通过轻量级的通信机制(http rest api)
4. 每个服务都能够独立的部署
5. 每个服务甚至可以拥有自己的数据库
6. 微服务以及微服务架构的是二个完全不同的概念。

微服务强调的是服务的大小和对外提供的单一功能,而微服务架构是指把 一个一个的微服务组合管理起来,对外提供一套完整的服务.

3. 微服务的优缺点

优点:
①:每个服务足够小,足够内聚,代码更加容易理解,专注一个业务功能点(对比传统应用,可能改几行代码 需要了解整个系统)
②: 开发简单,一个服务只干一个事情。(加入你做支付服务,你只要了解支付相关代码就可以了)
③: 微服务能够被2-5个人的小团队开发,提高效率
④: 服务松耦合,每个服务都能够开发部署。
⑤: 前后段分离, 作为java开发人员,我们只要关系后端接口的安全性以及性能,不要去关注页面的人机交互(H5工程师) 根据前后端接口协议,根据入参,返回json的回参
⑥: 一个服务可用拥有自己的数据库。也可以多个服务连接同一个数据库.

缺点:
①:增加了运维人员的工作量,以前只要部署一个war包,现在可能需要部署成百上千个war包
②: 服务之间相互调用,增加通信成本
③:数据一致性问题(分布式事物问题)
④:系能监控等.

4. springcloud微服务技术栈有哪些技术

  1. 推荐的二个springcloud的论坛链接
    http://springcloud.cn/
    https://springcloud.cc/spring-cloud-dalston.html

  2. 微服务技术栈的技术一概总览(springcloud微服务架构生态圈)

    微服务架构技术栈实现技术
    服务开发springboot,springmvc
    服务配置config
    服务注册发现spring cloud eureka
    服务调用ribbon,feign
    服务路由zuul
    服务熔断hystrix
    服务全链路监控sleuth+zipkin
    服务部署docker k8s

5. spring cloud技术栈图示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值