微服务概述

SpringBoot技术特点

 

SpringBoot 是由Pivotal团队提供的全新框架,其设计目的是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

特性:

1.创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置

 

spring boot可以支持你快速的开发出 restful风格的微服务架构,只要系统架构设计合理,加上nginx负载均衡,轻松实现横向扩展。目前springboot蓬勃发展方便的为我们集成了众多主流技术JPAHibernatemybatisRediselasticSearchmongdbMQemail等。

SpringColud技术特点

 

SpringColud是基于springboot的分布式技术生态圈,相比dubborpc框架,Spring Cloud提供的全套的分布式系统解决方案。

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式,使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

特性

Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。

1. 分布式/版本化配置

2. 服务注册和发现

3. 路由

4. service - to - service调用

5. 负载均衡

6. 断路器

7. 分布式消息传递


SpringBootSpringCloud在公司的运用

使用SpringBoot快速开发一些中小型项目,不用配置繁琐的xml以及tomcat,能够只关注业务需要快速进行开发。

使用Spring Cloud生态圈提供的Netflix EurekaSpring Cloud NetflixNetflix ZuulNetflix HystrixNetflix Hystrix等构建我们的分布式系统。

服务调用:

前端使用nginx作为负载均衡提供UI和服务,通过调用Spring Cloud的网关zuul组件统一使用服务,再由zuul分发到不同的服务节点提供服务。

服务部署:

所有微服务部署在docker容器中,外界无法访问但微服务直接可以相互协作,方便管理和隔离,同时每个微服务部署多个节点用于负载均衡,所有程序部署两套用于动态切换和升级。


猜你喜欢

转载自blog.csdn.net/zzhou1990/article/details/78016542