微服务-1.学习微服务之前的一些问题

240 阅读2分钟

1.什么是微服务?

微服务是一种架构的风格,提倡将单一应用程序划分成一组小的服务,每个服务都是一个独立的进程。 单机版 分布式 微服务

2.微服务之前是如何通信的?

dubbo rpc cloud restful

3.spring cloud 和 dubbo 有哪些区别?

4.spring cloud 和 spring boot ,你是怎么理解它们的?

5.什么是服务熔断,什么是服务降级?

6.微服务的优缺点分别是什么?

优点:
	1.每个服务足够内聚,还够小,代码容易理解,这样能够聚焦一个指定的业务功能或业务需求
	2.开发简单,开发效率高,一个服务可能就是专一的只干一件事
	3.微服务能够被小团队单独开发,这个小团队是2-5人的开发人员组成
	4.微服务是松耦合的是有功能意义的服务,无论是开发阶段或部署阶段都是独立的
	5.微服务可以使用不同的语言开发
	6.易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如jenkins,hudson。
	7.每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库
缺点:
    1.开发人员要处理分布式系统的复杂性
    2.多服务运维难度随着服务的增加,运维的压力也在增大
    3.系统部署依赖
    4.服务间通信成本
    5.数据一致性
    6.系统集成测试
    7.性能监控

7.你所知道的微服务技术栈有哪些,请列举1-2


微服务条目 落地技术
服务开发 springboot spring springmvc
服务注册与发现 Eureka Consul Zookeeper
服务熔断器 Hystrix Envoy
负载均衡 Ribbon Nginx
服务接口调用(客户端调用服务的简化工具) Fegin
消息队列 Kafka RabbitMq ActiveMq
服务配置中心管理 SpringCloudConfig Chef
服务路由 Zuul
服务监控 Zabbix Nagios Metrics Spectator
服务调用 Rest RPC gRpc
链路追踪 Zipkin Braw Papper
服务部署 Docker OpenStack Kubernetes

8. eureka 和 zookeeper都可以提供服务注册与发现的功能,两者有什么区别?