微服务架构——概念、初步了解、优势等总结

微服务架构

一、概念
将项目拆分成几个独立的功能单元(服务)的架构
二、优点
项目复杂度降低
团队界限明确
部署灵活
三、应用场景
互联网线上用户庞大,需要考虑并发,数据量庞大,项目代码量大的情况下使用(分布式集群架构)。
四、常见微服务框架
阿里巴巴系:dubbo/dubbox(当当改良),基于RPC
Spring Cloud:Spring团队开发,基于RESTful
五、服务类型
Provider:提供者,提供服务的一方
Consumer:消费者/调用者,调用服务的一方
六、通信方式
RPC:远程过程调用协议Remote Procedure Call
基于TCP,和平台有关

@Compoent
	public class QgGoodsServiceImpl implements QgGoodService{
		@DubboConsumer
		private RpcQgUserService rpcQgUserService ;
		@DubboConsumer
		private RpcQgGoodsService rpcQgGoodsService ;
	}

RESTful:,表述性状态转移Representational State Transfer
基于HTTP、和平台无关
七、设计原则
单一职责:遵循每一个项目只负责自己的业务
围绕业务分切:根据业务来切分项目,一个业务一个项目
创建者负责:开发+运维
八、关于分布式和集群
分布式:关注项目拆分。将项目垂直/水平拆分,将一个大项目拆分成几个小项目。例如:将项目按照业务模块垂直拆分,再将项目按提供者和消费者水平拆分。
集群:关注项目部署。项目部署到一个服务器不够的情况下,将项目部署到更多的服务器上。
九、微服务架构与单体架构的区别
单体架构:传统企业开发、面向用户流量小、数据量少、并发几乎不用考虑、项目代码量少、部署单个服务器就够、运维复杂程度低。
微服务架构:互联网线上用户庞大、必须考虑并发、数据量庞大、项目代码量大、部署集群服务器、运维复杂程度高。
十、架构设计
业务架构设计:1. 谁要使用这个系统。2. 系统为用户提供什么功能。目的:设计应用架构
应用架构设计:前端应用/网关应用/环境应用/后端应用(消费/基础/服务)
技术架构设计:技术选型(数据库/搜索/缓存/提供者/注册中心/消费者/网关等等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值