![](https://img-blog.csdnimg.cn/20190101211445684.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringBoot/SpringCloud/分布式
文章平均质量分 92
SpringBoot/SpringCloud
燕双嘤
程序辅导,毕业设计,课程作业,比赛代打等,17724838277
展开
-
SpringCloud Alibaba:Nacos统一配置,Sentinel限流熔断
统一配置管理就是弥补上述不足的方法,最基本的方法是把各个应用系统中的某些配置放在一个第三方中间件上进行统一维护。然后,对于统一配置中心上的数据的变更需要推送到相应的服务节点实现动态更新。原创 2019-04-28 20:54:45 · 797 阅读 · 0 评论 -
SpringCloud Alibaba:Dubbo,ZooKeeper,Nacos
SpringCloud Alibaba是阿里巴巴开源的一款为微服务开发提供一站式的解决方案。它是在Spring Cloud的基础上进行扩展和增强的。原创 2019-05-30 21:03:05 · 400 阅读 · 0 评论 -
SpringCloud Netflix:Sleuth,ELK
在订单服务中有下单功能,下单过程中需要对商品信息、用户信息、排期信息进行校验,也就是说,需要分别调用商品微服务、用户微服务、排期微服务提供的接口下单。这样复杂的接口调用不仅容易造成系统的不稳定,而且一旦下单功能出现瓶颈,将很难得知具体是哪个服务接口调用导致的,这就需要对微服务接口调用进行跟踪监控。微服务跟踪能够分析接口调用的整个过程,帮助优化系统。在分布式微服务架构下,会有很多微服务,并且同一个微服务也会部署多个实例,这么多微服务部署在不同的机器上,日志会很分散,一旦出现问题,排查将会非常困难。原创 2019-06-21 18:03:17 · 2205 阅读 · 2 评论 -
SpringCloud Netflix:Feign,Hystrix,Actuator,Zuul
Feign是Netflix开发的声明式、模板化的HTTP客户端,其灵感来自Retrofit、JAXRS-2.0以及WebSocket。Feign可帮助我们更加便捷、优雅地调用HTTPAPI。在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Spring Cloud对Feign进行了增强,使Feign支持了SpringMVC注解,并整合了Ribbon和Eureka,从而让Feign原创 2019-03-18 13:27:02 · 730 阅读 · 0 评论 -
SpringCloud Netflix:微服务,Eureka,Ribbon
微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。........................原创 2019-08-02 11:57:21 · 452 阅读 · 0 评论 -
分布式:Docker
1,容器和虚拟机1.1,容器和虚拟机的区别虚拟机用于为用户提供一个完整的系统镜像,常见的虚拟机有VMware、VitualBox、KVM等。虚拟化技术可以为每个用户分配虚拟化后的CPU、内存和I/O设备等资源,但是了为了能运行程序,除了需要部署应用程序本身及其依赖,还需要安装整个操作系统和驱动。容器是一种轻量级、可移植的为应用程序提供了隔离的运行空间。每个容器内都包含一个独享的完整用户环境变动不会影响其他容器的运行环境,可以使应用程序在几乎任何地方以相同的方式运行,比如开发人员在自己的笔记本上原创 2022-10-18 08:28:41 · 2421 阅读 · 2 评论 -
分布式:一致性(CAP,阶段提交,超时处理)
无中心化管理的微服务架构通过对服务进行有效的拆分来实现敏捷开发和自动化部署,并在海量的用户请求下,提高了微服务架构下较细粒度的水平伸缩能力。但是,微服务是把双刃剑,我们在享受微服务对单体系统拆分后的红利的同时,也会遇到数据模型和服务之间不一致的问题。在微服务架构下多个服务通过非可靠的网络进行通信,如何让服务之间高效地通信和协作?如何解决系统之间状态不一致问题?1,一致性一致性是一个抽象的、具有多重含义的计算机术语,在不同的应用场景下有不同的定义和含义。在传统IT时代,一致性通常指强一致性,.原创 2021-09-26 11:14:34 · 1233 阅读 · 0 评论 -
分布式:Java体系中的分布式
1,Java微服务架构的项目组织形式1.1,微服务项目的依赖关系在微服务架构中,软件项目背拆分成多个自治的服务,服务之间通过网络协议进行调用,通常使用透明的RPC远程调用。在Java领域,每个服务上线后,对外输出的接口为一个Jar包。在微服务领域,Jar包被分为一方库、二方库、三方库。一方库:本服务在JVM进程内依赖的Jar包。 二方库:在服务外通过网络通信或者RPC调用的服务的Jar包。 三方库:所依赖的其他公司或者组织提供的服务或者模块。1.2,微服务项目的层级目录J原创 2021-09-20 11:06:25 · 977 阅读 · 1 评论 -
分布式:微服务架构核心和实现
1,微服务架构中职能团队的划分传统单体架构将系统分成具有不同职责的层次,对应的项目管理也倾向于将大的团队分成不同的职能团队,主要包括:用户交互UI团队、后台逻辑处理团队与数据存取ORM团队、DBA团队等。每个团队只对自己分层的职责负责,并对使用方提供组件服务质量保证。如果其中一个模块化组件需要升级、更新,那么这个变更会涉及不同的分层团队,即使升级和变更的改变很小,也需要进行跨团队沟通:需求阶段需要跨团队沟通产品功能,涉及阶段需要跨团队沟通设计方案,开发阶段需要跨团队沟通具体的接口定义,测试阶段需要沟通原创 2021-09-20 08:49:48 · 408 阅读 · 0 评论 -
分布式:软件架构演变、服务化到微服务、分布式和微服务
分布式的产生:由于传统的软件技术更倾向于服务于企业,用户较少,所以传统的企业级技术无法满足互联网产品服务于海量用户的需求。于是,互联网企业对传统技术进行发展和演化,形成了一套具有互联网特色的互联网技术。互联网技术以拆分为原则来满足服务于海量用户的需求,从架构上来讲,分布式、服务化(SOA)、微服务得到了深入的发展,以拆分和服务化为基础,将海量用户产生的大规模的访问流量进行分解,采用分而治之的方法,达成用户需要的功能指标,并同时满足用户对高可用性、高性能、可伸缩性、可扩展和安全性的非功能质量的要求。1.原创 2021-09-18 17:46:36 · 973 阅读 · 0 评论 -
分布式:分布式计算环境
1,基本术语软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。分布式系统:由多个计算机(IP地址)及其上软件构件(端口)所组成,通过网络互联,通过消息进行通信和协同。分布式系统应对并发请求的两种基本方式分别是垂直扩展(提升单机处理能力/硬件或架构优化)和水平扩展(增加服务器数量)。 分布式系统的CAP定理中的CAP分别是指:一致性(Consistency)、可用性(Availability)、分区容错性(Par原创 2022-05-17 10:53:07 · 2876 阅读 · 0 评论 -
SpringBoot:整合Solr
当系统中存在海量数据需要进行全文检索时,传统的检索方法的 性能开销会随着数据量的增长而线性增加,因此数据量越大,性能越差。搜索(全文检索)引擎,则完全不存在这个问题,其性能开销会随着数据量的增长到达一个顶点(在这个顶点依然具有很好的性能),以后无论数据量怎么增长,搜索引擎的性能开销基本都可以稳定在这个顶点处,因此搜索引擎同样是处理海量数据的必需技术。原创 2020-01-06 21:14:16 · 1504 阅读 · 1 评论 -
SpringBoot:整合Elasticsearch
Elasticsearch与Solr类似,同样是一个基于Lucene的开源的分布式搜索引擎。当年由于Lucene的Java API比较难用,于是Shay Banon就开发 出一个叫作Compass的框架来对Lucene进行封装。Compass框架用起来十分方便,后来发现在2009年之后,Compass项目就不更新了。因为Shay Banon用Elasticsearch取代了Compass。由于Compass只是一个Java框架,所以必须掌握Java编程才能使用Compass;而Elasticsearch则是原创 2019-12-01 10:34:14 · 903 阅读 · 0 评论 -
SpringBoot:整合Kafka
虽然Kafka可作为消息组件使用,但它并不是单纯的消息组件,它被定位成“开源的分布式事件流平台(open-source distributed event strea ming platform)”,因此它和JMS实现或AMQP实现存在较大的差异。由于目前Kafka还依赖于ZooKeeper,因此在安装Kafka之前需要先安装,运行 ZooKeeper。原创 2019-11-26 09:40:43 · 3206 阅读 · 0 评论 -
SpringBoot:整合RabbitMQ(基本概念,消息模型,AmqpTemplate )
高级消息队列协议(Advanced Message Queuing Protocol,AMQP)是一种与平台无关的、线路级(wire-level)的消息中间件协议。原创 2018-09-11 10:31:21 · 1494 阅读 · 0 评论 -
SpringBoot:整合RabbitMQ(队列模式,确认机制,可靠传输)
简单队列是RabbitMQ中最简单的工作队列模式,也叫点对点模式,即一个消息的生产者对应一个消费者,它包含一个生产者、一个消费者和一个队列。生产者向队列中发送消息,消费者从队列中获取消息并消费。原创 2019-06-08 19:05:48 · 914 阅读 · 0 评论 -
SpringBoot:整合Redis(ReHash,缓存框架,Session共享)
Spring Boot提供了完善的数据缓存方案,系统会自动根据调用的方法缓存请求的数据。当再次调用该方法时,系统会首先从缓存中查找是否有相应的数据,如果命中缓存,则从缓存中读取数据并返回;如果没有命中,则请求数据库查询相应的数据并再次缓存。原创 2019-05-24 11:04:39 · 541 阅读 · 0 评论 -
SpringBoot:整合Redis(概述,数据类型,持久化,RedisTemplate)
Redis是一个开源、高效的key-value数据库,key-value数据库会以key-value对的方式存储数据,其内部通常采用哈希表这种结构来记录数据。在使用时,如果通过key来读取或写入相应的数据,则将具有极高的效率,因此咋处理单条数据的CRUD时非常高效。...................................................原创 2021-06-20 11:33:13 · 915 阅读 · 1 评论 -
SpringBoot:整合SpringSecurity
为了提供安全的机制,Spring提供了其安全框架Spring Security,它是一个能够为基于Spring生态圈,提供安全访问控制解决方案的框架。它提供了一组可以在Spring应用上下文中配置的机制,充分利用了Spring的强大特性,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。原创 2019-04-25 20:50:08 · 1584 阅读 · 0 评论 -
SpringBoot:整合Scheduled
SpringBoot的定时任务允许开发者在预定的时间间隔内执行特定的任务,这些任务可以是批处理、数据清理、发送邮件通知等任何需要按计划执行的操作。比如自动将超过24小时的未付款订单改为取消状态,自动将超过14天客户未签收的订单改为已签收状态等。定时任务可以让开发者更加方便地管理和自动化应用程序中的各种任务。原创 2019-04-23 21:03:59 · 168 阅读 · 0 评论 -
SpringBoot:整合持久化层
JdbcTemplate是Spring提供的一套JDBC模板框架,利用AOP技术来解决使用JDBC时大量重复代码的问题。JdbcTemplate虽然没有MyBatis那么灵活,但是比直接使用JDBC要方便很多。Spring Boot中对JdbcTemplate的使用提供了自动化配置类JdbcTemplateAutoConfiguration。...原创 2020-11-14 21:32:02 · 366 阅读 · 0 评论 -
SpringBoot:整合控制层
RESTful服务是“前后端分离”架构中的主要功能:后端应用对外暴露RESTful服务;前端应用则通过RESTful服务与后端应用交互。RESTful服务的数据格式既可是JSON的,也可是XML的。开发基于 JSON 的 RESTful 服务非常简单, 只要使用@RestController注解修饰控制器类,或者使用@ResponseBody修饰处理方法即可。(@RestController和@Controller的区别就在于,@RestController会自 动为每个处理方法都添加@Response原创 2020-11-10 16:10:26 · 807 阅读 · 0 评论 -
SpringBoot:SpringApplication,热插拔,日志配置
1,概述由于SpringBoot应用内嵌了Web服务器(Tomcat、Jetty或Undertow),所以无须将SpringBoot应用部署到其他Web服务器中,SpringBoot应用完全可以独立运行。在发布SpringBoot应用时,只需要将该应用打包成一个可执行的JAR包,以后就可以直接通过该JAR包来运行SpringBoot应用了。为了将SpringBoot应用打包成JAR包,首先需要保证在pom.xml文件中添加了SpringBoot的Maven插件,也就是其中包含如下配置:.原创 2020-12-06 21:26:02 · 1153 阅读 · 0 评论 -
SpringBoot:概述,注解,搭建,部署
1,SpringBoot简介1.1,SpringBoot概述Spring框架非常优秀,然而它最大的问题在于“配置过多”。基于Spring的企业级开发项目,需要大量的配置文件,SpringBoot的出现就是为了解决Spring框架存在的问题。本质上讲:Spring只是一个“组件”容器,它负责创建并管理容器中的组件(Bean),并管理组件之间的依赖关系。正是由于Spring将容器功能用到了极致,JavaEE应用所涉及的各种组件(控制器、安全组件、逻辑层、消息、DAO、连接数据库组件),都处于Sp.原创 2021-06-16 21:09:11 · 1742 阅读 · 14 评论