-
如何用Springboot Admin监控你的微服务应用
1 简介 目前,微服务大行其道,各大小公司争相学习模仿,把单体应用拆得七零八落.服务多了,运行的实例多了,给运维人员的压力就更大了.如果有十几个应用,单单做Health Check就已经够费时间的了.聪明的Springboot提供了Actuator接口,可以非常好获得应用的内部信息,然而针对数量庞大的服务却无能为力. 得益于开源社区的力量,我们有了Springboot Admin.它能对注册于服务发现的所有应用监控起来,功能包括健康检查.JVM内存.INFO信息.获得线程栈和堆栈信息.提醒(邮件
-
MySQL之MHA高可用配置及故障切换实现详细部署步骤
一.MHA介绍 (一).什么是MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件. MHA 的出现就是解决MySQL 单点的问题. MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作. MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用. (二).MHA 的组成 MHA Node(数据节点) MHA Node 运行在每台 MySQL 服务器上. MHA Manager(管理节点
-
mysql 忘记密码的解决方法(linux和windows小结)
当登陆MYSQL时,提示: ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES) 说明密码不正确,当确实忘记密码时,要怎么办呢? 难道重新安装,当然不需要了. Linux或UNIX 1. 用root或者以mysqld的用户登录系统 2. 利用kill命令结束掉mysqld的进程 3. 使用 --skip-grant-tables 参数启动MySQL, 假设MySql安装目录在 /usr/local/m
-
Armbian5.9.0安装docker及部署可视化portainer的详细教程
目录 安装 docker 如何查看 docker 是否安装成功? 如何启动docker? 如何安装可视化portainer 安装英文版本 安装中文版 什么是docker?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机). bare metal.OpenStack 集群和其他的基础应用平台. Docker通常用于如下场景: web应用的自动化打包和发布: 自动化测试和持续
-
最新Rust错误处理简介
目录 Rust错误处理简介 panic! Result 传播错误 错误处理指导原则 Rust错误处理简介 以下内容总结自 <The Rust Programing Language> Rust并不像C++一样使用try catch的异常机制来进行错误处理,他将错误分为可恢复错误和不可恢复错误两类,主要使用panic!宏和Result<T,E>类型来进行错误处理. panic! panic!用于处理不可恢复的错误(例如类似c中的段错误).当出现 panic 时,程序默认会开始 展开(
-
Gradle 创建Task的多种方法
在本系列的上篇文章中,我们讲到了Gradle入门,在本篇文章中我们将讲到创建Task的多种方法. Gradle的Project从本质上说只是含有多个Task的容器,一个Task与Ant的Target相似,表示一个逻辑上的执行单元.我们可以通过很多种方式定义Task,所有的Task都存放在Project的TaskContainer中. (1)调用Project的task()方法创建Task 在使用Gradle时,创建Task最常见的方式便是: task hello1 << { println '
-
Spring Boot集成Mybatis中如何显示日志的实现
在Spring Boot集成Mybatis的项目中,如果出现SQL语句执行问题,我们需要进行排查.此时就需要打印对应的SQL语句,那么该如何操作才能正常打印出对应的SQL语句呢? 其实操作非常简单,在application.properties或application.yml文件中配置对应mapper所在包的日志级别即可. 示例如下: logging.level.com.secbro.mapper=debug 其中"logging.level."为前缀,"com.secbro
-
Nodejs探秘之深入理解单线程实现高并发原理
前言 从Node.js进入我们的视野时,我们所知道的它就由这些关键字组成 事件驱动.非阻塞I/O.高效.轻量,它在官网中也是这么描述自己的. Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. 于是在我们刚接触Node
-
IOS 解决UIButton 点击卡顿/延迟的问题
前言 一开始还以为代码写的有问题,点击事件里面有比较耗时卡主线程的代码,逐一删减代码发现并不是这么回事. 正文 和参考文章里说的情况不完全相同,UIButton 并没有放在 UIScrollView 或 UITableView 上,但是 ViewController 是支持滑动返回的. ------------------华丽的分割线,搜索猜测解题中------------------ 解决办法:也没什么好办法,换成 ImageView 加 UITapGestureRecognizer 吧,另外
-
Java的jmap命令的具体使用
目录 jmap命令简介 jmap命令参数 -heap -histo[:live] -clstats -finalizerinfo -dump:[live,]format=b,file= -F -h 和 -help jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查看finalize执行队列.Java堆和方法区的详细信息,比如空间使用率.当前使用的什
-
C++操作MySQL的实现示例
Windows版本: 将libmysql.dll.libmysql.lib.mysql.h复制粘贴到项目文件中,或者项目设置里的包含目录和库目录添加路径 #include <iostream> #include<iomanip> #include "winsock.h" #include "mysql.h" #pragma comment(lib,"libmySQL.lib") using namespace std; i
-
用Python将结果保存为xlsx的方法
如下所示: #!/usr/bin/python # -*- coding:utf8 -*- import xlwt import os workbook=xlwt.Workbook(encoding='utf-8') booksheet=workbook.add_sheet('Sheet 1', cell_overwrite_ok=True) DATA=(('学号','姓名','年龄','性别','成绩'), ('1001','A','11','男','12'), ('1002','B','12
-
如何用python合并多个有规则命名的nc文件
现有多个nc文件,命名除了年份不同外,其他皆相同.希望将多个的nc文件合并为一个. 其中,每个nc文件内包含如下内容,包含12个月均数据 因此,我们可以知道,合并两个nc文件,time应该=‘24’,合并三个,time=‘36’.以此类推,合并x年,time=x*12. 主要通过xarray实现合并功能,并写出合并后的nc文件: #导入用到的库 import xarray as xr import os #首先,利用一个循环将需要合并的年份挑选出来.我这里选择1982-2012年的数据 file
-
原生js实现移动端触摸轮播的示例代码
PC端上实现图片轮播效果很简单,只要通过使用click事件就可以非常简单的实现效果,但是在移动端上,就要通过核心的touch事件来实现. 下面是移动端手指滑动轮播图的完整代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scala
-
Spring Boot 集成 Kafkad的实现示例
Spring Boot 作为主流微服务框架,拥有成熟的社区生态.市场应用广泛,为了方便大家,整理了一个基于spring boot的常用中间件快速集成入门系列手册,涉及RPC.缓存.消息队列.分库分表.注册中心.分布式配置等常用开源组件,大概有几十篇文章,陆续会开放出来,感兴趣同学请提前关注&收藏 消息通信有两种基本模型,即发布-订阅(Pub-Sub)模型和点对点(Point to Point)模型,发布-订阅支持生产者消费者之间的一对多关系,而点对点模型中有且仅有一个消费者. 前言 Kafka是
-
vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())
目录 vue路由跳转打开新窗口和关闭窗口 编程式导航 window.open( )方法 关闭窗口 window.close() vue路由跳转打开新窗口(被浏览器拦截) 第一种方法 第二种方法 第二种方法(改良版) 总结 vue路由跳转打开新窗口和关闭窗口 需求:从当前页面跳转到其他页面时,打开一个新窗口 比如:点击页面上的用户反馈,打开用户反馈的新页面,要使用编程式导航 编程式导航 使用路由对象的resolve的方法解析路由,可以得到location.router.href等目标路由的信息,只
-
PowerShell入门教程之创建和使用配置文件实例
在命令行中定义别名.变量和函数,只是将它们添加在当前PowerShell的会话中.退出会话后,这些更改就会丢失.想要在以后的会话中也能使用它们,就要将它们定义在配置文件中. 配置文件 PowerShell的配置文件,不像Windows操作系统中那样使用.ini文件,也不像多数应用程序那样使用XML文件.PowerShell的配置文件都是些普通的PowerShell脚本文件.需要注意的是,这些配置文件的文件名是固定.不能更改的.并且它们受到脚本执行策略的约束,就是说在默认情况下,也就是脚本执行策略
-
动态添加LinearLayout的高度实例
实例如下: WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = (int) (width - 22*density) / 3; LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mL
-
使用RestTemplate访问https实现SSL请求操作
目录 1.添加HttpsClientRequestFactory工具类 2.修改RestTemplate 3.访问https,抛出的异常 方案一:替换jce包 方案二:升级 JDK到1.8版本(推荐方式) 方法1: 用java生成证书,不建议,移植性差. 方法2: 将RestTemplate改为https请求. 1.添加HttpsClientRequestFactory工具类 import org.springframework.http.client.SimpleClientHttpReque
-
SpringBoot实现分库分表
目录 一.statementHandler对象的定义 二.prepare方法 1.首先prepare方法是用来编译SQL 2.那就是之前说的那几个具体的StatementHandler对象 3.parameterize方法 4.query/update方法 方案:可以使用拦截器拦截mybatis框架,在执行SQL前对SQL语句根据路由字段进行分库分表操作,下例只做分表功能 @Intercepts:申明需要拦截的方法 拦截StatementHandler对象 一.statementHandler对
