自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

罗小爬

一只没有脚的鸟

  • 博客(86)
  • 资源 (1)
  • 收藏
  • 关注

原创 k8s备份yaml

备份脚本在这里插入代码片集成k8s cronjob制作备份镜像依赖docker Ubuntu 16.04将k8s环境的/usr/bin/kubectl拷贝进容器中,并将对应环境的config文件挂到/root/.kube/config位置(可以先不设置,后续通过k8s configmap进行挂载)新建k8s config文件对应的configmap(并通过k8s将该configmap挂载到对应的cronjob容器中)kubectl create configmap kube-c

2020-11-26 11:38:43 16

原创 Istio ingressgateway健康检查(阿里SLB检查)

https证书的设置位置可以有很多种,比如云SLB、Nginx、K8s Ingress、Istio Ingressgateway,公司原运维人员总喜欢把证书挂载Nginx上,即:SLB->Nginx https -> K8s Ingress或SLB -> Nginx https -> Istio Ingressgateway#mermaid-svg-q9DFPz8TEYVXEjfz .label{font-family:'trebuchet ms', verdana, ari

2020-11-16 17:42:57 59

原创 阿里云ECS配置速记

ecs.r5 > ecs.g5 > ecs.c5大规格小规格CPUecs.r5内存(cpu*8)ecs.r5内存(cpu*4)ecs.r5内存(cpu*2)ecslarge21684ecsxlarge432168ecs2xlarge8643216ecs3xlarge12964824ecs4xlarge161286432ecs5xlarge3225612864ecs6xl

2020-11-10 09:55:29 32

原创 Istio 1.7初探(1.7.4)

一、安装# 默认使用default profile(可通过--set profile=default|demo|...调整)istioctl install# enable access logs(启用isito-proxy访问日志)--set meshConfig.accessLogFile=/dev/stdout# 设置sidecar优先启动(且sidecar启动成功后再启动其他应用容器) - 1.7新特性--set values.global.proxy.holdApplicationUn

2020-11-06 13:33:55 112 3

原创 Istio - Https-gateway(1.7.4版本)

官方参考:Istio - task/traffic-management/ingress/secure-ingress基本步骤:1、创建secret在K8s集群的某台机器上放置证书文件,进到证书文件目录,后基于kubectl命令创建证书secretkubectl create -n istio-system secret tls mycom-crt --key=cert.key --cert=cert.crt注意:secret命令空间一定要选istio-system,否则Istio ingr

2020-11-04 16:08:42 48 1

原创 修改docker镜像

# 拉取已有镜像docker pull docker.mxnavi.com/tsp2/mx-beg-nginx:1.0.2# 启动容器docker run -dit docker.mxnavi.com/tsp2/mx-beg-nginx:1.0.2# 进入容器docker exec -it xxx bash# 修改容器内容...# 退出容器exit# 提交新镜像(修改镜像版本)docker commit -a 'luohq' -m '注释' xxx docker.mxnavi.com

2020-09-29 10:47:24 146

原创 K8S configmap挂载文件

新建configmap:apiVersion: v1kind: ConfigMapmetadata: name: front-conf namespace: tspdata: baseUrl.js: | window.baseUrl = 'http://xxx.com/' window.websocketUrl = 'ws://xxx:8090/ws'在deployment挂载配置文件:...deployment.spec volumes: - n

2020-09-29 10:47:11 310

原创 K8s HPA

参考:K8S - Horizontal Pod AutoscalerK8S - horizontal-pod-autoscale-walkthroughHorizontal Pod AutoscalerThe Horizontal Pod Autoscaler automatically scales the number of pods in a replication controller, deployment, replica set or stateful set based on obs

2020-09-23 09:43:45 165

原创 RabbitMq消费者消息确认

示例代码import com.rabbitmq.client.Channel;import org.springframework.amqp.core.Message;...@RabbitListener(queues = "${rabbit.my.queue}")public void process(Message message, Channel channel) { //确认消息已经消费 channel.basicAck(message.getMessageProperties

2020-09-07 16:18:38 187

原创 Java range工具类(自定义)

import com.mx.xxx.base.MsgRuntimeException;import java.util.Collection;import java.util.List;import java.util.function.BiConsumer;import java.util.function.Consumer;import java.util.stream.Collectors;import java.util.stream.IntStream;import java.ut

2020-09-06 09:34:33 609

原创 Netty tls验证

netty中使用SslHandler进行tls验证拦截,ks -> kmftks -> tmfsslContext.init(kmf.km, tkf.tkm) -> createSslEngine -> SslHandler(sslEngine)#mermaid-svg-9ZeV2v6qn6Kz57Z5 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family

2020-08-25 13:54:59 226

原创 证书格式及其转换

参考链接:der pem cer crt key pfx等概念及区别证书格式证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSR、CRT、CRL 、OCSP、SCEP等。X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准.目前有以下两种编码格式.pemcer全称Privacy Enhanced MailDistinguished Encoding Rules

2020-08-25 13:42:09 272

原创 使用Openssl生成自签证书

graph LRS[开始]-- openssl genrsa-->A1[ca.key] A1-- openssl req --> B(ca.csr)B --openssl ca--> C(ca.cert)C --> D

2020-08-21 17:15:32 535

原创 SpringBoot中替换logo日志(修改banner)

bannerSpringBoot项目下在resources目录下新建个banner.txt就行,这个文件里放的就是图案字符。工具网站文字转字符图网站:patorjk.com - 文字转字符图图片转字符图网站:IMG2TXT: ASCII Art Made Easy!示例效果示例banner.txt...

2020-08-20 13:08:52 201

原创 在Jenkins上配置Sonar排除指定目录、指定规则

在Jenkins中配置sonar排除指定目录、指定规则的检查(1)排除指定目录sonar.exclusions=**/*.xml,**/src/test/**,**/target/**,**/src/main/java/com/**/model/protobuf/*(2)排除指定规则sonar.issue.ignore.multicriteria=e1,e2,e3,e4sonar.issue.ignore.multicriteria.e1.ruleKey=squid:S2259sonar.is

2020-08-14 15:08:27 568

原创 Azure部署K8s网络问题

最近公司需要在Azure上部署K8s集群,部署过程中遇到了一些问题,最后发现都出在网络问题上,总结如下:(1)Azure上不支持Calico网络插件,最终调整为Flannel;(2)Azure上CoreDns无法访问宿主机DNS配置(宿主机上/etc/resolv.conf含有自定义的nameserver),最终调整kube-system.configMap.coredns -> forward到自定义的nameserver;...

2020-08-06 16:14:12 269

原创 K8S api客户端调用方式

参考连接:github kubernetes-client可通过K8S官方维护的Java库访问K8S集群的API接口,示例代码:import io.kubernetes.client.openapi.ApiClient;import io.kubernetes.client.openapi.ApiException;import io.kubernetes.client.openapi.Configuration;import io.kubernetes.client.openapi.apis.

2020-07-29 09:47:38 683

原创 Java死锁示例

模拟2种出现死锁的方式(1)锁资源互斥(锁资源被占用)(2)读写锁互斥性import java.util.concurrent.locks.ReentrantReadWriteLock;/** * 死锁 * * @Ahthor luohq * @Date 2020-07-23 */public class Deadlock { public static void main(String[] args) { deadLock1(); //de

2020-07-23 09:38:42 299

原创 JsonPath操作JSON

假设想要解析JSON对象且JSON的格式不固定,有没有类似XML中的xpath解析表达式的工具?最终发现了json-path工具。参考链接:github json-pathMaven依赖: <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>2.4.0</vers

2020-07-21 15:09:03 446

原创 Maven生命周期

参考链接Introduction to the Build LifecycleLifecycle_Reference精简版A Build Lifecycle is Made Up of PhasesEach of these build lifecycles is defined by a different list of build phases, wherein a build phase represents a stage in the lifecycle.For example, t

2020-07-17 17:24:41 327

原创 SpringBoot内嵌tomcat调优

Springboot默认配置server: tomcat: accept-count: 100 # 最大连接等待数,默认100 max-connections: 10000 #最大连接数,默认为10000 max-threads: 200 #最大工作线程数,默认200 min-spare-threads: 10 #最小工作线程数,默认10最大连接数=max-connections + accept-count最大并发数=max-threads关于max-c

2020-07-15 10:56:26 862

原创 Apollo下载properties配置文件

参考:Apollo - 其它语言客户端接入指南返回JSON{config_server_url}/configfiles/json/{appId}/{clusterName}/{namespaceName}?ip={clientIp}返回Properties{config_server_url}/configfiles/{appId}/{clusterName}/{namespaceName}?ip={clientIp}root@test-01:~# curl http://xxx.fat.com

2020-07-15 09:50:05 818

原创 记一次K8s Patch

kubectl patch即合并配置内容,kubectl patch 资源类型 资源名称 --type=‘strategic|json|merge’ -p=‘xxx’strategic:默认值,类似append(类似list.append)json:完整替代(类似list.add)merge:合并不一样的root@xxx:/# kubectl patch --helpUpdate field(s) of a resource using strategic merge patch, a JS

2020-07-14 14:35:09 567

原创 Windows安装emqx

ZIP 压缩包安装 (Linux、MaxOS、Windows)参考连接:emqx 安装1.通过 emqx.io 或 Github 下载要安装的 EMQ X 版本的 zip 包。2.解压程序包$ unzip emqx-ubuntu18.04-v4.0.0.zip3.启动 EMQ X Broker进入到emqx解压后目录,进入bin目录,执行其下的命令脚本$ ./bin/emqx startemqx 4.0.0 is started successfully!$ ./bin/emqx

2020-06-02 10:10:19 1940

原创 K8s demployment常用命令

这里是引用通过kubectl创建deployment# kubectl apply -f deployment.yaml -n {namespace} --record–record参数,使用此参数将记录后续创建对象的操作,方便管理与问题追溯查看deployment具体信息# kubectl describe deployment {deploymentName} -n {namespace}修改deployment# kubectl edit deployment {deploym.

2020-05-22 16:03:30 538

原创 记一次MySql数据导入、导出

最近进行了一次Sonar(SonarCube,代码检测工具)数据库的迁移方式1 Navicat方式2 mysqldump+source方式3 into outfile + load data...

2020-05-19 18:10:03 577

原创 MySql数据库、数据表 - 数据量统计

统计SQL-- 查询所有数据库容量大小selecttable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'from information_schema.tables-- where table_schema = 'your_database

2020-05-11 14:25:46 681

原创 基于redis超时通知的设计

redis自带expire机制,结合Redis Keyspace Notifications通知机制,可以实现对redis中key超时通知,但是redis的超时通知机制也是有局限的,并不保证通知消息一定可达。Redis事件通知,即客户端通过订阅sub的形式来接收到Redis服务端数据发生改变的event通知,通知类型:keyspace(关注key),keyevent(关注操作),Redis...

2020-04-24 14:53:22 716

原创 Mysql字段变更

新增字段语法:alter table 表名 add 列名 字段类型;示例:alter table message add message_type tinyint(4);alter table message add message_type tinyint(4) NOT NULL COMMENT '消息类型';修改字段语法:alter table 表名 change 老字段 新字...

2020-04-13 09:57:56 465

原创 Mqtt5 - 会话保留与离线消息接收(完整)

最近在做IM(及时通信)相关的应用,长连接(消息收发)采用的Mqtt5,由于mqtt支持会话保存(cleanStart)、会话超时(sessionExpire)、QOS等设置,可以实现移动端弱网络(或网络断开后再重连)的离线消息接收。关于Mqtt的服务端、客户端选型可参考如下链接:Mqtt官网Mqtt中文网Mqtt Server端Mqtt Client端之所以选择Mqtt协议,因为m...

2020-04-11 18:10:53 3066

原创 Mqtt(emqx)上下线监听

emqx设置(1)修改etc/acl.conf设置allow所有用户订阅$SYS/brokers/+/clients/#主题{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.{allow, all, subscribe...

2020-04-11 11:01:50 2529

原创 Python中下划线_的使用

模式示例说明单前置下划线_x约定的私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问,不建议在类的外面访问单后置下划线x_用于避免与Python关键词的冲突双前置下划线__x避免与子类中的属性命名冲突,无法在外部直接访问(名称修饰(name mangling) 所以访问不到)双前后置下划线__ini...

2020-03-01 18:43:54 549

原创 python爬虫基础 - XPATH

XPath常用规则示例HTML<div id="songs-list"> <h2 class ="title">经典老歌</h2> <p class="introduction"> 经典老歌</p> <ul id="list" class="list-group"> <li data-view="2 "&...

2020-03-01 18:42:55 620

原创 安装scrapy

1.之前安装过Twisted-19.10.0-cp38-cp38-win_amd64.whl(对应Python3.8)pip install Twisted-19.10.0-cp38-cp38-win_amd64.whl2.之后直接安装scrapy(可以通过pycharm直接进行安装)pip install scrapy安装成功后使用即可使用scrapy查看是否安装成功注:可能还需...

2020-03-01 18:39:32 516

原创 Python爬虫基础

爬取流程发送请求——获得页面——解析页面——下载内容——储存内容基础模块urllib, urllib2, requests, bs4(Beautifulsoup), pyquery动态页面selenium(会了这个配合scrapy无往不利)phantomJS(不显示网页的selenium)解析语言正则表达式, XPATH, CSS遇到反爬虫策略验证码之类tesserocr等数...

2020-02-08 13:57:46 514

原创 python函数定义

# 定义def my_func(param1, param2): print(param1 + param2) # 调用my_func('val1', 'val2')# 调用 - 关键字实参(可指定形参名,顺序无关)my_func(param1='val1', param2='val2')my_func(param2='val2', param1='val1')#...

2020-01-20 15:26:32 503

原创 python多变量赋值

# 多变量赋值 - 数组形式data = ['hello', 18, [2002, 2, 2]]name, age, birth = dataprint(name)print(age)print(birth)# 多变量赋值 - 元组形式data = ('hello', 18, [2002, 2, 2])name, age, birth = dataprint(name, age...

2020-01-20 15:17:29 495

原创 Redis使用场景

热点数据的缓存加快查询速度,减少DB压力分布式缓存session分布式缓存(set sessionId sessionInfo)限流(计数器)单位时间内的访问次数(或一分钟内只能发一次验证码)incr + expire分布式锁setnx + expiredel分布式队列lpush+lpop分布式SETsadd(去重)排序ZSETzadd ...

2020-01-03 11:05:31 462

原创 数据库 - 分库、分表

读写分离适用于写少读多的场景(博客、朋友圈等,单机并发无法支撑且读请求更多的情形),可以将访问压力分散到集群中的多个节点(但没有分散存储压力)架构主从复制(一主一从,一主多从),主负责写,从负责读;问题数据复制延迟(1秒到1分钟都有可能)即数据写入到主服务器后,立刻通过从服务器进行读取,此时主机可能还没有将数据复制到从机(1秒内或大数据量数据同步),导致读取从机时读取不...

2019-12-19 11:37:09 461

原创 windows下使用pycharm的一些注意事项

首先安装python 3.8注意选中环境变量配置安装pycharm开发工具通过Settings->Project->Project Interceptor处点击+按钮导入依赖包导入包过程中如果提示如下:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C...

2019-12-17 17:11:37 490

android存储

本文介绍Android中的5种数据存储方式 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实 现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据  

2013-05-16

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除