热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springCloud/印象

SOA代表面向服务的架构,将应用程序根据不同的职责划分为不同的模块,不同的模块直接通过特定的协议和接

SOA代表面向服务的架构,将应用程序根据不同的职责划分为不同的模块,不同的模块直接通过特定的协议和接口进行交互。这样使整个系统切分成很多单个组件服务来完成请求,当流量过大时通过水平扩展相应的组件来支撑,所有的组件通过交互来满足整体的业务需求。

面向服务的设计,往往需要ESB(Enterprise Service Bus,企业服务总线)产品来充当基础设施。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。 ESB是一种在松散耦合的服务和应用之间标准的集成方式。

在其内部设计和实现中,通常会应用到一些经典的架构模式,例如:Broker模式、消息总线模式、发布订阅模式等。

微服务

微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制。

  • 围绕业务能力组织 / Organized around Business Capabilities

康威定理:Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations。设计系统组织的设计产出受限于该组织的沟通结构。

springCloud/印象
springCloud/印象
  • 是产品不是项目 / Products not Projects

  • 去中心化 / Decentralized

  • 进化式设计 / Evolutionary Design

  • 基础设施自动化 / Infrastructure Automation

springboot

Spring Boot是一个简化Spring使用的框架,可以使用少量的配置快速创建一个基于Spring的项目。Spring Boot主要有如下核心功能:

  • 独立运行的Spring项目。

  • 内嵌Servlet容器。

  • 提供starter简化Maven配置。

  • 自动配置Spring

  • 提供生产就绪型功能,如指标,健康检查和外部配置

springCloud

springCloud为什么被需要

Spring Cloud的开发团队专注于企业级开源框架的研发,不论是在中国还是在世界上使用都非常广泛,开发出通用、开源、稳健的开源框架是他们的主业。

Spring Cloud是微服务架构的生态环境,考虑到了微服务的各个方面。

Spring Cloud的社区热度非常好,问题修复也非常及时,未来会更加完善和稳定。

Spring Cloud也可以较好的兼容 python 、 php 等其他语言开发的微服务。因为采用RESTful。

Spring Cloud与 Docker 可以完美组合使用。

springCloud现状前景

知名互联网公司都已经使用了Spring Cloud,但都是小规模或者某个团队在使用。

针对与中小企业,使用springCloud优势明显,熟悉spring/springboot能很快上手。

阿里推出了spring cloud alibaba。

springCloud架构

springCloud/印象

springCloud模块

网关:Zuul,提供动态路由,监控,弹性,安全等边缘服务的框架

负载:Ribbon,有多种负载均衡策略可供选择

容错:Hystrix,断路器

配置:Spring Cloud Config,统一配置管理

总线:Spring Cloud Bus,可与Spring Cloud Config联合实现热部署

发现:Eureka,微服务的注册与发现

调用:Feign,一种声明式、模板化的HTTP客户端

跟踪:Spring Cloud Sleuth

日志:日志收集 工具 包

Docker:

spring-cloud-alibaba:

基础概念

service-id or instance-id

  • 作为服务提供者唯一标识,消费端调用时使用。
@FeignClient(name= "spring-cloud-producer")
public interface HelloRemote {

    @RequestMapping(value = "/hello")
    public String hello(@RequestParam(value = "name") String name);


}
  • Ribbon负载均衡标识
restTemplate.getForObject("http://spring-cloud-producer/hello", String.class);
  • zuul路由标识

    http://localhost:8888/spring-cloud-producer/hello?name=liangjie
    
  • 注册中心标识

    Application AMIs Availability Zones Status
    GATEWAY-SERVICE-ZUUL n/a (1) (1) UP (1) - 10.5.74.13:gateway-service-zuul:8888
    SPRING-CLOUD-PRODUCER n/a (1) (1) UP (1) - 10.5.74.13:spring-cloud-producer:9000

actuator

Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程序。Actuator 的这些特性可以通过众多 REST 接口、远程 shell 和 JMX 获得。

主要rest接口

HTTP 方法 路径 描述
GET /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
GET /configprops 描述配置属性(包含默认值)如何注入Bean
GET /beans 描述应用程序上下文里全部的Bean,以及它们的关系
GET /dump 获取线程活动的快照
GET /env 获取全部环境属性
GET /env/{name} 根据名称获取特定的环境属性值
GET /health 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
GET /info 获取应用程序的定制信息,这些信息由info打头的属性提供
GET /mappings 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系
GET /metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数
GET /metrics/{name} 报告指定名称的应用程序度量值
POST /shutdown 关闭应用程序,要求endpoints.shutdown.enabled设置为true
GET /trace 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)

以上所述就是小编给大家介绍的《springCloud/印象》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • Spring Cloud学习指南:深入理解微服务架构
    本文介绍了微服务架构的基本概念及其在Spring Cloud中的实现。讨论了微服务架构的主要优势,如简化开发和维护、快速启动、灵活的技术栈选择以及按需扩展的能力。同时,也探讨了微服务架构面临的挑战,包括较高的运维要求、分布式系统的复杂性、接口调整的成本等问题。最后,文章提出了实施微服务时应遵循的设计原则。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 深入解析Spring Boot自动配置机制
    本文旨在深入探讨Spring Boot的自动配置机制,特别是如何利用配置文件进行有效的设置。通过实例分析,如Http编码自动配置,我们将揭示配置项的具体作用及其背后的实现逻辑。 ... [详细]
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • Spring Boot 入门指南
    本文介绍了Spring Boot的基本概念及其在现代Java应用程序开发中的作用。Spring Boot旨在简化Spring应用的初始设置和开发过程,通过自动配置和约定优于配置的原则,帮助开发者快速构建基于Spring框架的应用。 ... [详细]
  • 在使用 Spring Cloud Config 作为配置中心时,若在配置文件中指定了请求路径但未能生效,本文将探讨其原因及解决方案。 ... [详细]
  • Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
    go,通过,map,filter,foreach,等,流,式,ap ... [详细]
  • 收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
    收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • SpringCloud电商平台开发指南:实战案例解析
    本文详细介绍了基于SpringCloud构建的电商平台项目,涵盖了从技术选型到项目部署的全流程,旨在帮助开发者快速掌握电商平台的开发技巧。 ... [详细]
  • 本文精选了 GitHub 上由个人维护且获得大量 Star 的 Spring Boot 学习项目,适合初学者和技术爱好者参考。 ... [详细]
  • 热璞数据库与云宏达成兼容性互认证,共筑数据安全屏障
    热璞数据库与云宏信息技术有限公司近期宣布完成产品兼容性互认证,旨在提升数据安全性与稳定性,支持企业数字化转型。 ... [详细]
  • 本文档提供了一个详细的步骤指南,介绍如何使用Rviz工具将ROS bag文件中存储的点云数据进行可视化处理。 ... [详细]
author-avatar
佳山申士_636
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有