YML

springboot整合Shiro

僤鯓⒐⒋嵵緔 提交于 2021-01-13 17:50:20
1.创建一个springboot项目 选中web和thymeleaf 1.1新建index.html <!DOCTYPE html > < html lang = "en" xmlns:th = "http://www.thymeleaf.org" > < head > < meta charset = "UTF-8" > < title > Title </ title > </ head > < body > < h1 > 首页 </ h1 > < p th:text = "${msg}" > </ p > </ body > </ html > 1.2创建一个controller package com.yao.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind. annotation .RequestMapping; @Controller public class MyController { @RequestMapping({ "/" , "/index" }) public String toIndex(Model model){ model

2020年度最常见的Spring Boot面试题【附解析】

无人久伴 提交于 2021-01-13 17:11:40
前言 Spring Boot 是一套快速开发框架,随着微服务架构应用不断普及,Spring Boot 的研发技术的掌握已经成为研发人员必会技能。与此同时,Spring Boot 开源生态建设能力非常强大,提供了很多应用组件,让Spring Boot 有丰富的三方开源软件的使用。 基于上面的情况,Spring Boot 基本上成为了大中型互联网公司面试的必考题。 本篇小编根据大厂的一些面试题库的梳理,将核心的面试提供分享给大家 1、什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 2、Spring Boot 主要有如下优点: 容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。 开箱即用,远离繁琐的配置。 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。 没有代码生成,也不需要XML配置。 避免大量的 Maven 导入和各种版本冲突。 3、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解

还在使用kill -9 pid结束spring boot项目吗?那你已经落伍了!

百般思念 提交于 2021-01-13 15:51:14
作者:流星007 blog.csdn.net/qq_33220089/article/details/105708331 kill -9 pid ??? kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看(这段话来自菜鸟教程)。 讲的这个复杂,简单点来说就是用来杀死linux中的进程,啥?你问我啥是进程?请自行百度。 我相信很多人都用过 kill -9 pid 这个命令,彻底杀死进程的意思,一般情况我们使用它没有上面问题,但是在我们项目中使用它就有可能存在致命的问题。 kill -9 pid 带来的问题 由于kill -9 属于暴力删除,所以会给程序带来比较严重的后果,那究竟会带来什么后果呢? 举个栗子:转账功能,再给两个账户进行加钱扣钱的时候突然断电了?这个时候会发生什么事情?对于InnoDB存储引擎来说,没有什么损失,因为它支持事务,但是对于MyISAM引擎来说那简直就是灾难,为什么?假如给A账户扣了钱,现在需要将B账户加钱,这个时候停电了,就会造成,A的钱被扣了,但是B没有拿到这笔钱,这在生产环境是绝对不允许的,kill -9 相当于突然断电的效果。 当然了,像转账这种,肯定不是使用MyISAM引擎,但是如今分布式火了起来

kubernetes调度之资源配额

六月ゝ 毕业季﹏ 提交于 2021-01-13 11:31:23
系列目录 当多个用户或者开发团队共享一个有固定节点的的kubernetes集群时,一个团队或者一个用户使用的资源超过他应当使用的资源是需要关注的问题,资源配额是管理员用来解决这个问题的一个工具. 资源配额,通过 ResourceQuota 定义,提供了对某一名称空间使用资源的总体约束.它即可以限制这个名称空间下有多少个对象可以被创建,也可以限制对计算机资源使用量的限制(前面说到过,计算机资源包括cpu,内存,磁盘空间等资源) 资源配额通过以下类似方式工作: 不同的团队在不同的名称空间下工作.当前kubernetes并没有强制这样做,完全是自愿的,但是kubernetes团队计划通过acl授权来达到强制这样做. 管理员对每一个名称空间创建一个 ResourceQuota(资源配额) 用户在一个名称空间下创建资源(例如pod,service等),配额系统跟踪资源使用量来保证资源的使用不超过 ResourceQuota 定义的量. 如果对一个资源的创建或者更新违反了资源配额约束,则请求会返回失败,失败的http状态码是 403 FORBIDDEN 并且有一条消息来解释哪个约束被违反. 如果一个名称空间下的计算机资源配额,比如CPU和内存被启用,则用户必须指定相应的资源申请或者限制的值,否则配额系统可能会阻止pod的创建. 资源配额在某一名称空间下创建策略示例: 在一个有32G内存

SpringBoot集成Sharding——JDBC分库分表

走远了吗. 提交于 2021-01-12 10:52:25
Sharding——JDBC 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 对比图: 开发人员只需正常写查询、mapper即可、无感知。 分库分表概念 随着业务的不断增长,数据也飞速增长,访问也随之变慢,添加从库、新建索引等很多操作仍严重下降,分库分表需求迫在眉睫。 方案一: 通过提升服务性能来提升数据处理能力,例如:扩容、CPU等,但成本很高。 方案二: 把数据分散在不同数据集中,大表拆成小表、数据落盘到不同库中,从而使得数据集变小从而提升性能。 垂直分库 以 表 为依据,按照业务需求将 表 拆到不同库中。 每个 库 的结构不一样。 每个 库 的数据不一样,没有交集。 所有库的 并集 是全量数据。 场景: 这一步拆分基本是服务化,例如,中间表、字典表、配置表等越来越多,可以将这些表拆分到单独库中,甚至可以微服务化。 垂直分表 以 字段 为依据,按照字段活跃性拆到不同 表 中。 每张表 结构 不一样。 每张表 数据也 不一样,至少有一列 交集 用于关联。 所有表 并集 数据是全量数据。 场景: 用户表中有id、名称、住址等信息,每次查询用户信息时住址字段使次数很低,大字段等单独拆分一张,从而减少IO提升性能。 水平分库 以 字段

k8s学习-运行应用

江枫思渺然 提交于 2021-01-11 14:56:10
Deployment Deployment是k8s最常用的controller,通常k8s不会直接创建pod,而是通过controller来管理POD的。Controller中定义了POD的部署特性,比如有几个副本,在什么样的NODE上运行等,它可以管理pod的多个副本,并确保pod按照期望的状态运行。 运行Deployment 按照如下方式,运行一个Deployment kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=3 上面的命令将部署包含三个副本的Deployment nginx-deployment,容器的image为nginx:1.7.9 如下所示: 通过kubectl get deployment可以看到nginx-deployment的状态 通过kubectl describe deployment了解更详细的信息。 在NewreplicaSet,可以看到创建了一个nginx-deployment-754846b88c的replicatset,说明deployment是通过replicaset来管理POD的。执行kubectl describe replicaset 查看详细信息。 Controller By指明此ReplicaSet是由Deployment/nginx-deployment创建的

安装 docker-registry-frontend

余生长醉 提交于 2021-01-11 08:25:03
拉取镜像 最新的V2 docker pull konradkleine/docker-registry-frontend:v2 创建 docker-compose.yml version: ' 3 ' services: frontend: image: konradkleine /docker-registry- frontend:v2 restart: always ports: - 8080 : 80 volumes: - ./certs/frontend.crt:/etc/apache2/ server.crt:ro - ./certs/frontend.key:/etc/apache2/ server.key:ro environment: - ENV_DOCKER_REGISTRY_HOST= 192.168 . 59.131 - ENV_DOCKER_REGISTRY_PORT= 5000 docker-compose up -d 成功 来源: oschina 链接: https://my.oschina.net/u/4309098/blog/3414415

Prometheus 与 Alertmanager 通信

社会主义新天地 提交于 2021-01-10 09:32:02
Prometheus 与 Alertmanager 通信 1、编辑Prometheus配置文件配置连接地址:vim prometheus.yml # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # alertmanager 地址 - 127.0.0.1:9093 2、编辑Prometheus配置文件配置,开启告警配置文件:vim prometheus.yml # Load rules once and periodically evaluate them according to the global rule_files: # 告警规则配置文件位置 - " rules/*.yml " 3、创建告警规则目录 mkdir rules 4、检查并重新加载配置文件 ./ promtool check config prometheus.yml kill -hup PID 来源: oschina 链接: https://my.oschina.net/u/4400455/blog/3442102

Prometheus 整合 AlertManager

只谈情不闲聊 提交于 2021-01-10 09:31:40
简介 Alertmanager 主要用于接收 Prometheus 发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。它支持丰富的告警通知渠道,可以将告警信息转发到邮箱、企业微信、钉钉等。这一节讲解利用AlertManager,把接受到的告警信息,转发到邮箱。 实验 准备 启动 http-simulator 度量模拟器: docker run --name http-simulator -d -p 8080:8080 pierrevincent/prom-http-simulator:0.1 启动 Prometheus,为了方便更新配置,使用挂载配置文件的方式: docker run --name prometheus -d -p 9090:9090 -v /Users/huanchu/Documents/prometheus-data:/prometheus-data \ prom/prometheus --web.enable-lifecycle --config.file=/prometheus-data/prometheus.yml 启动添加了参数 --web.enable-lifecycle,让Prometheus支持通过web端点动态更新配置。 访问 http://127.0.0.1:9090/targets

Prometheus 整合 AlertManager

此生再无相见时 提交于 2021-01-10 09:31:11
简介 Alertmanager 主要用于接收 Prometheus 发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。它支持丰富的告警通知渠道,可以将告警信息转发到邮箱、企业微信、钉钉等。这一节讲解利用AlertManager,把接受到的告警信息,转发到邮箱。 实验 准备 启动 http-simulator 度量模拟器: docker run -- name http - simulator - d - p 8080 : 8080 pierrevincent / prom - http - simulator : 0.1 启动 Prometheus,为了方便更新配置,使用挂载配置文件的方式: docker run -- name prometheus - d - p 9090 : 9090 - v / Users / huanchu / Documents / prometheus - data :/ prometheus - data \ prom / prometheus -- web . enable - lifecycle -- config . file = /prometheus-data/ prometheus . yml 启动添加了参数 --web.enable-lifecycle