(一)微服务与微服务架构入门

(一)微服务与微服务架构入门

回顾之前的知识~

  • javaSE
  • 数据库
  • 前端
  • Servlet
  • Http
  • Mybatis
  • Spring
  • SpringMVC
  • SpringBoot
  • Doubbo,Zookeeper,分布式基础
  • Maven,Git
  • Ajax,Json

串一下自己会的东西

  • 数据库

  • Mybatis

  • Spring

  • SpringMVC

  • SpringBoot

  • Doubbo,Zookeeper,分布式基础

  • Maven,Git

  • Ajax,Json

这个阶段如何学~

三层架构 + MVC

框架:
	Spring IOC AOP
	
	SpringBoot:新一代的javaEE开发标准,自动装配
	
	模块化~ all in one 
	
	模块化的开发====all in one,代码没改变
	
微服务架构4个核心问题
	1.服务很多,客户端怎么访问?
	2.这么多服务,服务之间如何通信?
	3.这么多服务,如何治理?
	4.服务挂了怎么办?
	
解决方案:
	Spring cloud 生态 SpringBoot
	
	1.Spring Cloud NetFlix 一站式解决方案!
		api网关,zuul组件
		Feign ---HttpClinet ----Http通信方式,同步,阻塞
		服务注册发现:Eureka
		熔断机制: Hystrix
	---2018无限期停止维护
	
	
	2.Apache Doubbo + Zookeeper 半自动,需要整合别人的
		api:没有,找点放组件,或者自己实现
		通信:Doubbo
		服务注册发现:Zookeeper
		熔断机制:借助 Hystrix
		
		Doubbo这个方案并不完善~
	
	3.Spring Cloud Alibaba 一站式解决方案!更加但
	
	
新概念:服务网格~ Server Mesh
	istio
	
	
万变不离其宗,一通百通
	1.API
	2.HTTP,RPC
	3.注册和发现
	4.熔断机制

分布式,网络是不可靠的,丢包,丢帧!!!!



什么是微服务?
	   
微服务之间是如何独立通讯的?

SpringCloud和Doubbo有哪些区别?


SpringBoot和SpringCloud,请你谈谈

微服务技术栈

微服务条目 落地技术
服务开发 SpringBoot,Spring,SpringMVC
服务配置与管理 Netflix公司的Archaius,阿里的Diamond等
服务注册与发现 Eureka,Consul,Zookeeper等
服务调用 Rest,RPC,gRPC等
服务熔断 Hystrix,Envoy等
负载均衡 Ribbon,Nginx等
服务接口调用(客户端调用服务的简化工具) Fegin等
消息队列 Kafka,RabbitMQ,ActiveMQ等
服务配置中心管理 SpringCloudConfig,Chef等
服务路由(API网关) Zuul等
服务监控 Zabbix,Nagios,Metrics,Specatator等
全链路追踪 ZipKin,Brave,Dapper等
服务部署 Docker,OpenStack,Kubernetes等
数据流操作开发包 SpringCloud Stream(封装与Redis,Rabbit,Kafka等发送接受消息)
事件信息总线 SpringCloud Bus

为什么选择SpringCloud作为微服务架构

1.选型依据

  • 整体解决方案和框架成熟度
  • 社区热度
  • 可维护性
  • 学习曲线

2.当前各大IT公司用的微服务架构有哪些

  • 阿里:dubbo+HFS
  • 京东:JSF
  • 新浪:Motan
  • 当当网:Dubbox
  • ............

3.各位服务框架对比

功能点/服务架构 Netflix/SpringCloud Motan gRPC Thrift Dubbo/DubboX
功能定位 完整的微服务框架 RPC框架,但整合了ZK和Consul,实现集群环境的基本服务注册/发现 RPC框架 RP框架 服务框架
支持Rest 是,Ribbon支持多种可插拔的序列化选择
支持RPC 是(Hession2)
支持多语言 是(Rest形式)?
负载均衡 是(服务端zuul+客户端Ribbon),zuul-服务,动态路由,云端负载均衡 Eureka(针对中间成服务器) 是(客户端) 是(客户端)
配置服务 Netflix Archaius,Spring Cloud Config Server集中配置 是(zookeeper提供)
服务调用链监 是(zuul),zuul提供边缘服务,API网关
高可用/容错 是(服务端Hystrix+客户端Ribbon) 是(客户端) 是(客户端)
典型应用案例 Netflix Sina Google Facebook
社区活跃度 一般 一般 2017年后重新开始维护,之前中断5年
学习难度 中段
文档丰富度 一般 一般 一般
其他 Spring Cloud Bus为我们的应用程序带来了更多管理端点 支持降级 Netflix内部在开发集成gRPC IDL定义 实践的公司比较多
时间
posted @ 2020-02-13 18:50  TwoKe  阅读(9)  评论(0)    收藏  举报