SpringBoot与监控管理(Actuator)
一、监控管理 通过引入 spring-boot-starter-actuator,可以使用 Spring Boot 为我们提供的准生产环境下的应用监控和管理功能。我们可以通过 HTTP, JMX, SSH 协议来进行操作,自动得到审计、健康及指标信息等 。 步骤: 引入 spring-boot-starter-actuctor 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency> 通过 http 方式访问监控点端点 首先在配置文件中把端点暴露出来 在 application.properties 中配置端点, 暴露部分端点 management.endpoints.web.exposure.include=info,health,beans,env 暴露所有端点 management.en ...
SpringCloud 微服务搭建
博客参考学习视频: https://www.bilibili.com/video/BV18E411x7eT?from=search&seid=4388336378730572330 一、微服务架构编码构建① 约定 > 配置 > 编码 slave 会从 master 读取 binlog 来进行数据同步 三步骤+原理图 MySQL 复制过程分成三步:1 master 将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave 将 master 的 binary log events 拷贝到它的中继日志(relay log);3 slave 重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL 复制是异步的且串行化的 ② IDEA 新建 project 工作空间1.微服务 cloud 整体聚合父工程 Project 父工程步骤: 1) New Project 2)聚合总工程名字和工程名字(idea 2020.2 版本) 3)选择 Maven 版本 4)字符编码 5) ...
SpringBoot与Dubbo、Zookeeper
一、概念ZooKeeper ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 Dubbo Dubbo 是 Alibaba 开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看, Dubbo 采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。 二、SpringBoot 2.3 整合 Zookeeper、Dubbo① 安装 zookeeper 作为注册中心12345// 安装镜像docker pull zookeeper:latest// 启动镜像docker run --name zk01 -p 2181:2181 --restart always -d zookeeper:latest 这里只需要用到 2181 这个端口,只把它暴露,其他的两个端口不需要 ...
SpringBoot与安全(Spring Security)
博客中涉及的源码,下载地址在博客文章底部,有需要的小伙伴自行下载 一、简介 SpringSecurity 是针对 Spring 项目的安全框架,也是 Spring Boot 底层安全模块的技术选项。他可以实现强大的 web 安全控制。对于安全控制,我们需要引入 spring-boot-starter-securiy 模块。 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency> 几个类: WebSecurityConfigurerAdapter: 自定义 Security 策略 AuthenticationManagerBuilder: 自定义认证的策略 @EnableWebSecurity: 开启 WebSecurity 模式 具体的参考 Spring 官网:https://spring.io/guid ...
SpringBoot和Spring Cloud
一、Spring Cloud Spring Cloud 是一个分布式的整体解决方案。 Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性 token,全局琐, leader 选举,分布式 session,集群状态)中快速构建的工具,使用 Spring Cloud 的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。 SpringCloud 分布式开发五大常用组件 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 二、微服务 Martin Fowler 微服务原文 https://martinfowler.com/articles/microservices.html 三、Spring Cloud 入门项目结构: 先创建一个空项目来存放 ① 编写 EurekaServer 注册中心 1. 项目结构 2.配置 Eureka ...
SpringBoot与任务
一、异步任务两个注解: @EnableAysns、@Aysnc 代码示例: 123456789@EnableAsync // 开启异步注解功能@SpringBootApplicationpublic class SpringBoot04TaskApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot04TaskApplication.class, args); }} 【AsyncService.java】 1234567891011121314@Servicepublic class AsyncService { // 告诉spring这是一个异步方法 @Async public void hello(){ try { Thread.sleep(3000); } catch (Interrupte ...
SpringBoot与检索(ElasticSearch)
一、ElasticSearch 安装环境 Linux CentOS 7 Docker 容器 二、安装步骤① 下载 docker ElasticSearch 容器镜像Docker Hub 镜像下载地址:https://hub.docker.com/ 1docker pull elasticsearch:7.6.2 ② 启动镜像映射1docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2 注意:根据自己情况来配置 ==-e ES_JAVA_OPTS=”-Xms256m -Xmx256m”== 不配置的话,启动会占用你的 2G 内存,反之,配置的话,启动则根据你配置的内存来分配。 异常:如果启动后,docker 容器自动关闭,且无法访问 1docker logs -f id[容器id] // 查看启动日志 123456789// 修改 elasticsearch.yml 配置即可解决// 先查找 elas ...
SpringBoot与消息
一、概述 消息服务中两个中重要的概念:消息代理 和 目的地 消息队列主要由两种形式的目的地 队列: 点对点消息通信 主题: 发布/订阅 消息通信 异步处理: 应用解耦: 流量削峰: 点对点式: 消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列 。 消息只有唯一的发送者和接受者,但并不是说只能有一个接收者 发布订阅式: 发送者(发布者)发送消息到主题,多个接受者(订阅者)监听(订阅) 这个主题,那么就会发布到达同时收到消息。 JMS (Java Message Service ) JAVA 消息服务 基于 JVM 消息代理的规范。 ActiveMQ、 HornetMQ 是 JMS 实现 AMQP(Advanced Message Queuing Protocol) 高级消息队列协议,也是一个消息代理的规范,兼容 JMS RabbitMQ 是 AMQP 的实现 Spring 支持 spring-jms 提供了对 JMS 的支持 spring-rabbit 提供了对 AMQP 的支持 ...
LayUI快速入门
[TOC] 一、引言1.1 介绍 官网:https://www.layui.com/ 在官网首页,可以很方便的下载 LayUI 二、环境搭建2.1 下载 在官网下载即可完成 下载的 LayUI 解压后,将其中的 layUI 目录导入项目中 将 layui 目录放到 webapp 目录下 在 JSP 中导入 layui 依赖 12<link rel="stylesheet" href="${pageContext.servletContext.contextPath}/layui/css/layui.css"><script src="${pageContext.servletContext.contextPath}"></script> 或 12<link rel="stylesheet" href="${pageContext.request.contextPath}/l ...
SpringBoot与缓存
Spring Boot 与缓存创建项目结构 集成开发工具 IDEA 2020.2 , 使用 spring 项目搭建向导创建 一、搭建基本环境 导入数据库文件,创建出department 和 employee表 1234567891011121314151617create database springboot_cache;CREATE TABLE `department` ( `id` int(11) NOT NULL AUTO_INCREMENT, `departmentName` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `lastName` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `gender` int(2) DEFAULT ...