微服务架构与微服务与springcloud
微服务架构
微服务优缺点?
优点:
每个服务足够内聚,足够小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求;
开发简单,开发效率提高,一个服务可能就是专一的一件事;
微服务能够被小团队开发,这个小团队是2-5人的开发人员组成;
4微服务是松耦合的,是有功能意义的服务,无论是开发阶段或部署阶段都是独立的。
微服务使用不同的语言开发;
易于和第三方集成,微服务允许容易灵活的方式集成自动部署,通过持续集成工具,如jenkins, Hudson,bamboo
微服务易于被开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
微服务只是业务逻辑的代码,不会和html,css或其他界面混合;
每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库
缺点:
开发人员需要处理分布式系统的复杂性
多服务运维的难度,随着服务的增加,运维的压力也在增大
系统部署依赖
服务间通信成本
数据一致性
系统集成测试
性能监控
微服务
什么是微服务?
微服务将传统的一站式应用,根据业务拆分成一个一个的服务, 彻底的解耦和,每个微服务提供单个的业务功能服务,一个服务做一件事情,类似进程的概念,能够自行单独启动和销毁,拥有自己独立的数据。
参考马丁福勒论文: https://martinfowler.com/articles/microservices.html
微服务技术栈
微服务框架
阿里:doubbke 、 hsf(很舒服)
新浪: motan
当当:doubbleX
springcloud
springcloud
微服务一站式的解决方案
springcloud netfilex
springcloud Alibaba
springcloud的五大基本组件
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config
springcloud和doubble的对比