从面试题开始
什么是微服务
微服务之间是如何通信的
SpringCloud和Dubbo有哪些区别?
SpringCloud基于Http的RestFul,dubbo基于rpc调用
Springboot和SpringCloud,请你谈谈对他们的理解
什么是服务熔断, 什么是服务降级
微服务的优缺点是什么? 说下你在项目开发中遇到的坑
你说知道的微服务技术栈有哪些
eureka和zookeeper都提供服务注册发布功能,请说下区别
微服务概述
是什么?
微服务化的核心就是将传统的一站式应用,根据业务拆分成一个个的服务,彻底地去耦合, 为每一个微服务提供单个业务功能的服务, 一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程的概念,能够自行单独启动或者销毁, 拥有自己独立的数据库.(马丁富勒论文阅读)
微服务与微服务的架构
微服务就相当于一个模块, 像医院分科室一样.关注是解决某一个问题,提供落地对应的一个服务应用; 微服务架构,专注开发一种单一应用, 独立在自己的进程中跑, 通过http api调用, 独立部署
微服务的优缺点
1) 优点: 每个服务足够内聚, 足够小, 代码容易理解,这样能聚焦一个指定业务功能或业务需求,微服务能够被小团队单独开发, 小团队2-5人的开发人员组成, 松耦合 , 能使用不同语言开发, 和第三方集成,
2) 缺点: 开发人员要处理分布式系统的复杂性; 多服务的运维难度, 随着服务的增加, 运维的压力也在增大;系统的部署依赖, 服务间的通信成本; 数据一致性; 系统集成测试; 性能测试
微服务的技术栈有哪些
多种技术的集合体,我们在讨论一个分布式的微服务架构的话,它需要有哪些维度?
服务治理; 服务注册; 服务调用; 服务负载均衡; 服务监控 ==> 一个springCloud就可以
微服务条目 落地技术 备注 服务开发 springboot, spring ,springmvc 服务配置与管理 Netflix的Archaius, 阿里的Diamond 服务注册与发现 Eureka,Consul, Zookeeper 服务调用 Rest , PRC 服务熔断器 Hystrix 负载均衡 Nginx, Ribbon 服务接口调用 feign 消息队列 activeMq RabbitMQ 服务配置中心管理 spring CloudConfig,chef 服务路由(Api网关) Zuul 服务监控 Zabbix, Nagios, Metrics 全链路追踪 Dapper 服务部署 Docker 数据流操作开发包 SpringCloudStream 时间消息总线 SpringCloudBus 为什么选择SpringCloud作为微服务架构(上面所有内容全包含)