1.微服务架构是什么?
答:微服务架构(Microservice Architecture)是一种架构概念。通过将功能分解到各个离散的服务中心以实现对庞大复杂服务的解耦。
2. 微服务的特殊性?
答 : 原子服务,服务够小,而且尽可能的合理分拆。
高密度部署,节点多,自动化部署。
敏捷交付,开发周期短,快速开发,快速上线。
微自治,服务自管理。
3. 什么时候需要?
答:随着开发的进行,系统项目代码变得越来越多,运维部署变得越来越麻烦。小版本交付,一般是维护自己公司的产品,不适合做为乙方的开发。项目有高性能和高可靠的要求。
4. 核心要素?
答:微服务必须要有 服务的注册和发现,服务调用安全。负载均衡。
5. 微服务的实现技术:主要有 Dubbo 和 SpringCloud ,Duboo不如 SpringCloud 全面。
6. Hystrix 熔断机制,有服务降级的机制。如果某个service 堵塞了,线程不会一直堵塞,会返回一个处理结果。此时可以防止占用资源,通过线程池的机制实现资源隔离。熔断机制,可以通过设置参数在服务经常不可达的情况下,不再请求资源。
假如 设置参数 50%,当请求某个service,不可达/请求树 = 50%的情况下,下一次的访问将不再发送请求,而且直接返回失败结果。等熔断恢复之后,再重新开始测试请求,等测试请求稳定之后,service开始正常运行。
Q: 服务之间的调用,如果保证安全性?
A:微服务部署在内网中。
Q:内网 直接发送 HTTP 请求,就可以请求到某个service,是不是不安全的?
A: 可以通过Docker 或者 IP白名单来限制访问。
思考: 微服务需要搭建其来,而且 云服务器越来越流行,我认为微服务不能是部署在 内网的服务,而服务之间的安全保证是要依靠 API gateway 或者 Docker 或者 其他方式 来保证的。
微服务的 Docker 部署结构是什么样子的?
扩展学习:
SOA、docker、DevOps、灰度测试、一致性事务、熔断、自恢复、蓝绿部署、 蓝云、安恒、银弹。