后k8s时代-微服务

入门阅读材料:

1. microservices(翻译)  原文

 对于微服务而言,有六个基本必须实现的1.进程通讯2.服务注册与发现3.负债均衡4.配置中心5.熔断器6.网关路由

2. service mesh的历史和市场格局

3. Istio介绍安装和配置 servicemesher社区

4. spring boot 基础学习示例

(1)什么是Spring boot

  了解之前需要对java和Spring有一定的了解

  Spring 框架是一个开源的 Java 平台,它为容易而快速的开发出耐用的 Java 应用程序提供了全面的基础设施。

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 它的诞生,不是为了取代Spring,而是为了让所有人,更好的使用Spring。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

  目前,Spring Boot已成为主流的Java框架之一,2016年之后,越来越多的程序员选择了它。Java程序员,已经到了必须掌握Spring Boot的时候。

(2)使用Spring Boot有什么好处

其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?

  • 1)配置 web.xml,加载 Spring 和 Spring mvc
  • 2)配置数据库连接、配置 Spring 事务
  • 3)配置加载配置文件的读取,开启注解
  • 4)配置日志文件
  • 配置完成之后部署 Tomcat 调试

现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我难道都需要像上面这样折腾一遍?

但是如果使用 Spring Boot 呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务!

使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

Spring,Spring MVC及Spring Boot区别 以及他们解决了什么问题?

5. spring cloud微服务架构学习示例 

了解了Spring boot和微服务相关概念后,可以来看下什么是Spring Cloud,它解决了什么问题?


Spring Cloud是一个分布式服务框架

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

分布式服务框架发展

1.1 第一代服务框架

  代表:Dubbo(Java)、Orleans(.Net)等

  特点:和语言绑定紧密

1.2 第二代服务框架

  代表:Spring Cloud等

  现状:适合混合式开发(例如借助Steeltoe OSS可以让ASP.Net Core与Spring Cloud集成),正值当年

1.3 第三代服务框架

  代表:Service Mesh(服务网格) => 例如Service Fabric、lstio、Linkerd、Conduit等

  现状:在快速发展中,更新迭代比较快

1.4 未来(目测不久)主流的服务架构

尽管Spring Cloud带有“Cloud”这个单词,但它并不是云计算解决方案,而是在Spring Boot基础之上构建的,用于快速构建分布式系统的通用模式的工具集。

原文地址:https://www.cnblogs.com/shanghai1918/p/13206638.html