摘要: Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。 Start 阅读全文
posted @ 2020-03-09 21:37 咔啡 阅读(1608) 评论(0) 推荐(0)
摘要: 1)继承spring-boot-starter-parent项目 2)导入spring-boot-dependencies项目依赖 阅读全文
posted @ 2020-03-09 21:36 咔啡 阅读(2536) 评论(0) 推荐(1)
摘要: Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 阅读全文
posted @ 2020-03-09 21:35 咔啡 阅读(219) 评论(0) 推荐(0)
摘要: Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。 使用了一个RouteLocatorBuilder的bean去创建路由,除了创建路由Route 阅读全文
posted @ 2020-03-09 20:58 咔啡 阅读(134) 评论(0) 推荐(0)
摘要: Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序。 Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定性。 在 employee-consumer 的例子中,我们使用了 employee-produ 阅读全文
posted @ 2020-03-09 20:57 咔啡 阅读(1059) 评论(0) 推荐(0)
摘要: SpringBoot专注于快速方便的开发单个个体微服务。 SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务 Sp 阅读全文
posted @ 2020-03-09 20:56 咔啡 阅读(449) 评论(0) 推荐(0)
摘要: 防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)服务降级:双十一 提示 哎哟喂,被挤爆了。 app秒杀 网络开小差了,请稍后再试。优先核心服务,非核心服务不可用或弱可用。通过HystrixCommand注解指定。fallbackMethod(回退函数)中具体实 阅读全文
posted @ 2020-03-09 20:55 咔啡 阅读(333) 评论(0) 推荐(0)
摘要: spring cloud bus 将分布式的节点用轻量的消息代理连接起来,它可以用于广播配置文件的更改或者服务直接的通讯,也可用于监控。 如果修改了配置文件,发送一次请求,所有的客户端便会重新读取配置文件。 使用: 1.添加依赖 2.配置rabbimq 阅读全文
posted @ 2020-03-09 20:54 咔啡 阅读(995) 评论(0) 推荐(0)
摘要: ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。feign默认集成了ribbon。 阅读全文
posted @ 2020-03-09 20:53 咔啡 阅读(418) 评论(0) 推荐(0)
摘要: 当Eureka Server 节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁启动关闭客户端)节点会进入自我保护模式,保护注册信息,不再删除注册数据,故障恢复时,自动退出自我保护模式。 阅读全文
posted @ 2020-03-09 20:52 咔啡 阅读(137) 评论(0) 推荐(0)
摘要: 1.服务调用方式 dubbo是RPC springcloud Rest Api2.注册中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper3.服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由网关,作 阅读全文
posted @ 2020-03-09 20:51 咔啡 阅读(533) 评论(0) 推荐(0)
摘要: 默认情况下,所有敏感的 HTTP 端点都是安全的,只有具有 ACTUATOR 角色的用户才能访问它们。安全性是使用标准的 HttpServletRequest.isUserInRole 方法实施的。 我们可以使用来禁用安全性。只有在执行机构端点在防火墙后访问时,才建议禁用安全性。 阅读全文
posted @ 2020-03-08 18:17 咔啡 阅读(2591) 评论(0) 推荐(0)
摘要: Swagger 广泛用于可视化 API,使用 Swagger UI 为前端开发人员提供在线沙箱。Swagger 是用于生成 RESTful Web 服务的可视化表示的工具,规范和完整框架实现。它使文档能够以与服务器相同的速度更新。当通过 Swagger 正确定义时,消费者可以使用最少量的实现逻辑来理 阅读全文
posted @ 2020-03-07 23:49 咔啡 阅读(1052) 评论(0) 推荐(0)
摘要: WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 1、WebSocket 是双向的 -使用 WebSocket 客户端或服务器可以发起消息发送。 2、WebSocket 是全双工的 -客户端和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTT 阅读全文
posted @ 2020-03-07 23:45 咔啡 阅读(2008) 评论(0) 推荐(0)
摘要: SpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理,而SpringCloud现在以及 阅读全文
posted @ 2020-03-07 23:27 咔啡 阅读(206) 评论(0) 推荐(0)
摘要: 1.ZooKeeper保证的是CP,Eureka保证的是AP ZooKeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期间不可用的 Eureka各个节点是平等关系,只要有一台Eureka就可以保证服务可用,而查询到的数据并不是最新的 自我保护机制会导致 Eureka不再从注册列表移除因 阅读全文
posted @ 2020-03-07 22:48 咔啡 阅读(508) 评论(0) 推荐(0)
摘要: 1.服务发布时,指定对应的服务名,将服务注册到 注册中心(eureka zookeeper)2.注册中心加@EnableEurekaServer,服务用@EnableDiscoveryClient,然后用ribbon或feign进行服务直接的调用发现。 阅读全文
posted @ 2020-03-07 22:45 咔啡 阅读(1135) 评论(0) 推荐(1)
摘要: 当我们使用 Spring 应用去跑一个集成测试时,我们需要一个 ApplicationContext。 为了使我们开发更简单,SpringBoot 为测试提供一个注解 – @SpringBootTest。这个注释由其 classes 属性指示的配置类创建一个 ApplicationContext。 阅读全文
posted @ 2020-03-07 20:00 咔啡 阅读(680) 评论(0) 推荐(0)
摘要: FreeMarker 是一个基于 Java 的模板引擎,最初专注于使用 MVC 软件架构进行动态网页生成。使用 Freemarker 的主要优点是表示层和业务层的完全分离。程序员可以处理应用程序代码,而设计人员可以处理 html 页面设计。最后使用freemarker 可以将这些结合起来,给出最终的 阅读全文
posted @ 2020-03-07 19:58 咔啡 阅读(781) 评论(0) 推荐(0)
摘要: 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Ngnix),再到达 阅读全文
posted @ 2020-03-07 19:25 咔啡 阅读(117) 评论(0) 推荐(0)
摘要: Feign是受到Retrofit,JAXRS-2.0和WebSocket启发的java客户端联编程序。Feign的第一个目标是将约束分母的复杂性统一到http apis,而不考虑其稳定性。在employee-consumer的例子中,我们使用了employee-producer使用REST模板公开的 阅读全文
posted @ 2020-03-06 21:58 咔啡 阅读(1331) 评论(0) 推荐(0)
摘要: 使用 Spring Boot 开发分布式微服务时,我们面临以下问题 与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该目录中注册服务,然后能够查找并连接到该目录中的服务。 冗余-分布 阅读全文
posted @ 2020-03-06 20:59 咔啡 阅读(1033) 评论(0) 推荐(0)
摘要: 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud co 阅读全文
posted @ 2020-03-06 20:57 咔啡 阅读(235) 评论(0) 推荐(0)
摘要: 在计算中,负载均衡可以改善跨计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器等多种计算资源的工作负载分布。负载均衡旨在优化资源使用,最大吞吐量,最小响应时间并避免任何单一资源的过载。使用多个组件进行负载均衡而不是单个组件可能会通过冗余来提高可靠性和可用性。负载平衡通常涉及专用软件或硬件,例如多 阅读全文
posted @ 2020-03-06 20:55 咔啡 阅读(943) 评论(0) 推荐(0)
摘要: SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务而SpringCloud专注于解决各个微服务之间的协调与配置,服务之间的通信,熔断,负载均衡等技术维度并相同,并且SpringCloud是依赖于SpringBoot的,而 阅读全文
posted @ 2020-03-06 20:54 咔啡 阅读(169) 评论(0) 推荐(0)
摘要: 1.Ribbon都是调用其他服务的,但方式不同。2.启动类注解不同,Ribbon是@RibbonClient feign的是@EnableFeignClients3.服务指定的位置不同,Ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClie 阅读全文
posted @ 2020-03-06 20:49 咔啡 阅读(3002) 评论(0) 推荐(0)
摘要: 维度(springcloud) 服务开发:springboot spring springmvc 服务配置与管理:Netfix公司的Archaiusm ,阿里的Diamond 服务注册与发现:Eureka,Zookeeper 服务调用:Rest RPC gRpc 服务熔断器:Hystrix 服务负载 阅读全文
posted @ 2020-03-06 20:48 咔啡 阅读(492) 评论(0) 推荐(0)
摘要: SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务而SpringCloud专注于解决各个微服务之间的协调与配置,服务之间的通信,熔断,负载均衡等技术维度并相同,并且SpringCloud是依赖于SpringBoot的,而 阅读全文
posted @ 2020-03-06 20:44 咔啡 阅读(191) 评论(0) 推荐(0)
摘要: Eureka:服务注册于发现。 Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。 Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。 Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。 Zuul:网关 阅读全文
posted @ 2020-03-06 20:43 咔啡 阅读(5177) 评论(0) 推荐(0)
摘要: Spring Boot 是解决这个问题的方法。Spring Boot 已经建立在现有 spring 框架之上。使用 spring 启动,我们避免了之前我们必须做的所有样板代码和配置。因此,Spring Boot 可以帮助我们以最少的工作量,更加健壮地使用现有的 Spring功能。 阅读全文
posted @ 2020-03-06 20:41 咔啡 阅读(139) 评论(0) 推荐(0)
摘要: 在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。 阅读全文
posted @ 2020-03-06 20:37 咔啡 阅读(4549) 评论(0) 推荐(0)
摘要: Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。因此,当应用程序在开发中运行时,只有某些 bean 可以加载,而在 PRODUCTION中,某些其他 bean 可以加载。假设我们的要求是 Swagger 文档仅适用于 QA 环境,并且禁用所有其 阅读全文
posted @ 2020-03-06 20:34 咔啡 阅读(2468) 评论(0) 推荐(0)
摘要: Spring Boot Batch 提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,作业重新启动,跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业。简单以及复杂的大批量批处理作业可以高度可扩展的方 阅读全文
posted @ 2020-03-06 20:33 咔啡 阅读(346) 评论(0) 推荐(0)
摘要: 使用了下面的一些依赖项 spring-boot-starter-activemq spring-boot-starter-security 这有助于增加更少的依赖关系,并减少版本的冲突。 阅读全文
posted @ 2020-03-06 20:32 咔啡 阅读(752) 评论(0) 推荐(0)
摘要: 本质上,Actuator 通过启用 production-ready 功能使得 SpringBoot 应用程序变得更有生命力。这些功能允许我们对生产环境中的应用程序进行监视和管理。 集成 SpringBoot Actuator 到项目中非常简单。我们需要做的只是将 spring-boot-start 阅读全文
posted @ 2020-03-06 20:31 咔啡 阅读(1964) 评论(0) 推荐(1)
摘要: SpringBoot 开发者工具,或者说 DevTools,是一系列可以让开发过程变得简便的工具。为了引入这些工具,我们只需要在 POM.xml 中添加如下依赖: 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <arti 阅读全文
posted @ 2020-03-06 20:30 咔啡 阅读(7023) 评论(0) 推荐(0)
摘要: 依赖管理是所有项目中至关重要的一部分。当一个项目变得相当复杂,管理依赖会成为一个噩梦,因为当中涉及太多 artifacts 了。 这时候 SpringBoot starter 就派上用处了。每一个 stater 都在扮演着提供我们所需的 Spring 特性的一站式商店角色。其他所需的依赖以一致的方式 阅读全文
posted @ 2020-03-06 20:28 咔啡 阅读(4555) 评论(0) 推荐(0)
摘要: Spring Boot 提供监视器端点以监控各个微服务的度量。这些端点对于获取有关应用程序的信息(如它们是否已启动)以及它们的组件(如数据库等)是否正常运行很有帮助。但是,使用监视器的一个主要缺点或困难是,我们必须单独打开应用程序的知识点以了解其状态或健康状况。想象一下涉及 50 个应用程序的微服务 阅读全文
posted @ 2020-03-06 20:27 咔啡 阅读(1576) 评论(0) 推荐(0)
摘要: Spring 提供了一种使用 ControllerAdvice 处理异常的非常有用的方法。 我们通过实现一个 ControlerAdvice 类,来处理控制器类抛出的所有异常。 阅读全文
posted @ 2020-03-06 20:18 咔啡 阅读(382) 评论(0) 推荐(0)
摘要: 使用 Spring Boot 实现分页非常简单。使用 Spring Data-JPA 可以实现将可分页的传递给存储库方法。 阅读全文
posted @ 2020-03-06 20:17 咔啡 阅读(2426) 评论(0) 推荐(0)