zoukankan      html  css  js  c++  java
  • 后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基础之上构建的,用于快速构建分布式系统的通用模式的工具集。

  • 相关阅读:
    微信小程序踩坑(二)——微信小程序recorderManager和innerAudioContext相关
    log4j:WARN Please initialize the log4j system properly解决办法
    如何跳过登录验证码
    Fiddler Mock长度变化的response不成功
    解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题
    Fiddler抓不到https的解决办法
    互联网项目流程
    测试人员参与线下问题处理须知
    Mac下安装证书fiddlerRoot.cer
    MySQL存储过程中实现执行动态SQL语句
  • 原文地址:https://www.cnblogs.com/shanghai1918/p/13206638.html
Copyright © 2011-2022 走看看