框架
文章平均质量分 84
一条没有梦想的闲鱼
一只懵逼的程序猿
展开
-
SpringCloud Stream (消息驱动)
消息中间件的几大应用场景应用解耦假设公司有几个不同的系统,各系统在某些业务有联动关系,比如A系统完成了某些操作,需要触发B系统及C系统,但是各个系统之间产生了耦合。针对这种场景,用消息中间件就可以完成解耦,当A系统完成操作时将数据放进消息队列,B和C系统去订阅消息就可以了,这样各系统只要约定好消息的格式就可以了。异步处理比如用户在电商网站下单,下单完成后会给用户推送短信或邮件,发短信和邮件的过程就可以异步完成。因为下单付款才是核心业务,发邮件和短信并不属于核心功能,且可能耗时较长,所以针对这原创 2022-03-20 15:11:42 · 2480 阅读 · 1 评论 -
链路追踪:SkyWalking
目录一、前言二、SkyWalking是什么三、链路追踪框架对比四、主要功能特性五、服务端搭建六、SkyWalking接入微服务七、SkyWalking跨多个微服务跟踪八、持久化基于mysql持久化九、自定义链路追踪十、性能剖析十一、SkyWalking集成日志框架SkyWalking通过grpc上报日志(需要v.8.4.0+)十二、告警告警规则Webhook(网络钩子)邮件告警功能实践十三、SkyWalking高可用一、前言..原创 2022-01-30 16:24:42 · 10449 阅读 · 0 评论 -
SpringCloud:网关Gateway
一、前言所谓API网关,就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,比如:认证、鉴权、监控、路由转发等。利用API网关可以解决以下问题:全局性流控 日志统计 防止sql注入 防止web攻击 屏蔽工具扫描 黑白ip名单 证书/加解密处理 服务级别流控 服务降级与熔断 路由与负载均衡、灰度策略 服务过滤、聚合与发现 权限验证与用户等级策略 业务规则与参数检验 多级缓存策略二、Gateway介绍原创 2022-01-29 19:48:10 · 1992 阅读 · 0 评论 -
分布式事务:seata
seata原创 2022-01-16 21:45:06 · 19429 阅读 · 1 评论 -
Sentinel
sentinel原创 2022-01-08 18:08:50 · 1044 阅读 · 0 评论 -
SpringCloudAlibaba:OpenFeign
什么是FeignFeign是Netflix开发的声明式,模板化的http客户端,可以帮助我们更加便捷、优雅的调用HTTP API。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等SpringCloud OpenFeign对Feign进行了增强,使其支持SpringMvc注解,另外还整合了Ribbon和Nacos,从而使得Feign的使用更加方便。优势:Feign可以做到使用Http请求远程服务时就像调本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是.原创 2021-12-19 18:06:39 · 748 阅读 · 0 评论 -
SpringCloudAlibaba:负载均衡器Ribbon
什么是ribbon目前主流的负载方案分为以下两种:集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(如:F5),也有软件的(如:nginx) 客户端根据自己的请求情况做负载均衡,Ribbon就属于客户端自己做负载均衡SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列完善的配置,如超时、重试等。通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规..原创 2021-12-19 16:13:49 · 852 阅读 · 0 评论 -
SpringCloudAlibaba:Nacos
Nacos原创 2021-12-19 19:39:30 · 503 阅读 · 0 评论 -
SpringCloudAlibaba
SpringCloudAlibaba介绍SpringCloudAlibaba致力于提供微服务开发的一站式解决方案。包含开发微服务架构的必需组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发微服务架构。依托SpringCloudAlibaba,只需添加一些注解和少量配置,就可以将SpringCloud应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统基础环境搭建1.创建基于SpringBoot的父maven项目这里什么都不选,点...原创 2021-12-18 17:04:11 · 806 阅读 · 0 评论 -
SpringBoot:Zookeeper和Dubbo集成
分布式理论1、什么是分布式系统在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法..转载 2021-12-12 13:48:12 · 136 阅读 · 0 评论 -
SpringBoot:国际化
有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要学习国际化了!准备工作先在IDEA中统一设置properties的编码问题!编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置!配置文件编写1、我们在resources资源文件下新建一个i18n目录,存放国际化配置文件2、建立一个login.properties文件,还有一个login_zh_CN.properties;发现IDEA自动识别了我们要.翻译 2021-12-11 17:46:12 · 215 阅读 · 0 评论 -
SpringBoot:自定义Starter
说明启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名归约:官方命名: 前缀:spring-boot-starter-xxx 比如:spring-boot-starter-web.... 自定义命名: xxx-spring-boot-starter 比如:mybatis-spring-boot-starter 编写启动器1、在IDEA中新建一个空项目 spring-boot-starter-di.翻译 2021-12-11 17:26:18 · 123 阅读 · 0 评论 -
SpringBoot:任务
异步任务1. 在方法上添加@Asyncpackage com.zjb.service;import org.springframework.scheduling.annotation.Async;import org.springframework.stereotype.Service;@Servicepublic class AsyncService { /** * @Async:表示这个方法是异步执行的 */ @Async pub.原创 2021-12-11 16:41:45 · 255 阅读 · 0 评论 -
SpringBoot:集成Swagger
学习目标: 了解Swagger的概念及作用 掌握在项目中集成Swagger自动生成API文档 Swagger简介Swagger 号称世界上最流行的API框架 Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新 直接运行,在线测试API 支持多种语言 (如:Java,PHP等) 官网:https://swagger.io/ SpringBoot集成SwaggerSpringBoot集翻译 2021-12-05 19:44:11 · 140 阅读 · 0 评论 -
SpringBoot:集成Shiro
简介什么是ShiroApache shiro 是一个Java的安全(权限)框架 Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境 Shiro可以完成认证、授权、加密、会话管理、Web集成、缓存等。 官网地址:https://shiro.apache.org/环境搭建1.导入依赖<!-- shiro和Spring的整合包:shiro-spring --> <dependency> ...原创 2021-12-05 17:16:54 · 217 阅读 · 0 评论 -
SpringBoot:集成SpringSecurity
在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。Spring Sec翻译 2021-12-04 22:18:07 · 1416 阅读 · 0 评论 -
SpringBoot:整合Mybatis
1、导入 MyBatis 所需要的依赖<!-- mybatis和SpringBoot的整合包:mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2原创 2021-12-04 20:19:07 · 746 阅读 · 0 评论 -
SpringBoot:整合Druid
Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成 Druid 数据源,如何实现数据库监控。com.alibaba.druid原创 2021-12-04 19:46:08 · 157 阅读 · 0 评论 -
SpringBoot-thymeleaf
thymeleaf原创 2021-11-21 16:17:27 · 491 阅读 · 0 评论 -
Mybatis详解
官网:https://mybatis.org/mybatis-3/index.html中文文档:https://mybatis.org/mybatis-3/zh/index.html1.简介1.1 什么是 MyBatisMyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Pla原创 2021-10-07 15:38:48 · 493 阅读 · 0 评论 -
SpringBoot-配置文件
SpringBoot配置文件解析原创 2021-11-07 16:44:45 · 2619 阅读 · 0 评论 -
SpringBoot初探究
自动配置初探究我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version.原创 2021-11-07 15:29:27 · 78 阅读 · 0 评论 -
SpringBoot 初认识
什么是Spring Spring是为了解决企业级应用开发的复杂性而创建的,简化开发Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了4种关键策略基于POJO的轻量级和最小入侵性编程 通过IOC,依赖注入(DI)和面向接口实现轻松耦合 基于切面(AOP)和惯例进行声明式编程 通过切面和模板减少样式代码什么是SpringBootSpringBoot基于Spring开发,SpringBoot本身并不提供Spring框架的核心特性以及扩展...原创 2021-11-06 15:43:46 · 150 阅读 · 0 评论 -
Spring详解
1、原创 2021-10-23 17:09:33 · 96 阅读 · 0 评论 -
SpringMVC
1、什么是MVCmvc是model(模型)、视图(view)、控制器(Controller)的简写,是一种软件设计规范 是将业务逻辑、数据、显示分离的方法来组织代码 mvc主要作用是降低了视图与业务逻辑间的双向耦合 mvc不是一种设计模式,mvc是一种架构模式,当然不同的mvc存在差异Model(模型) 数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来,ValueObject(数据Dao)和服务...原创 2021-10-31 19:22:09 · 85 阅读 · 0 评论 -
Spring+Springmvc+Mybatis+Druid整合
1、相关依赖<dependencies> <!--Junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </depende原创 2021-10-31 18:43:06 · 384 阅读 · 0 评论