- 博客(16)
- 收藏
- 关注
原创 Jython-Java中执行python函数,并获取返回值
Java中执行python函数的方式有多种,如果需要得到返回值,这里推荐一种方式,可以使用jython嵌入到代码里运行。依赖和代码都在下面了,需要自取,都是多次调试后的最终版,绝对能跑。 <!-- https://mvnrepository.com/artifact/org.python/jython-standalone --> <dependency> <groupId>org.python</groupI...
2020-12-01 18:36:09
1879
原创 Java分割文本文件,按文件数、行数均分
Java分割文本文件,按行数均分 /** * 按行分割文件 * * @param sourceFilePath 为源文件路径 * @param targetDirectoryPath 文件分割后存放的目标目录 * @param number 切割成多少个文件 */ public static List<String> splitFileByLine(String sourceFilePa
2020-11-19 13:54:50
1701
原创 tomcat配置问题导致的OOM、频繁FullGC问题排查
生产某台服务出现频繁fullgc,一看Prometheus监控,老年代内存一看就很有问题,突然陡峭的曲线,就像房价一样。导出dump文件到本地查看,有个byte对象都是10M大小,占了内存的80%以上,简单一看是http请求的信息,事情似乎有点眉目。再看GC根谁持有了byte[]数组的引用。这符合之前的猜测,是tomcat的线程在处理过程中分配了10M的buffer在堆上。至此,马上可以想到一定是什么参数设置的不合理导致了这种情况,一般而言tomcat不可能为每一个请求分配如此大的buffer。
2020-08-31 19:50:01
1641
原创 sonar无法扫描spock的groovy脚本单测问题
1、sonar安装groovy插件,一般默认账户是admin/admin,去插件中心搜索groovy安装并重启;2、项目添加maven插件如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <arti...
2020-01-13 09:11:53
898
原创 携程Apollo配置中心和springboot整合简单总结
Apollo安装apollo快速开始:快速安装docker版快速安装:docker版分布式部署:分布式部署config和admin需要在每个环境启一个,portal只需启一个configDB每个环境一个,portalDB只需一个界面配置官方文档非常清晰:官方界面配置文档代码修改官方文档简要过程:将yaml转为prop格式转换工具添加依赖<depen...
2019-03-01 11:54:03
892
原创 springcloud 配置手动推送(改配置不用重启)
1、添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>2、在bootstrap.yaml下添加配置:(...
2018-11-26 20:16:21
2103
原创 微服务2.0时代,一些热门工具:k8s、fabric8、istio、nacos、consul、apollo、orange、kong、pinpoint等链接集合
给自己做个笔记,研究后在后面添加一些简介。 一站式解决方案:k8s:https://github.com/spring-cloud/spring-cloud-kubernetes官方文档:https://kubernetes.io/docs/home/?path=users&persona=app-developer&level=foundational...
2018-11-06 10:54:40
5921
原创 mq 10911 fail
broker.conf添加最后两行brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH name...
2018-11-05 14:05:29
352
原创 MQ在docker下启多台实例,消息不消费的问题
修改如下参数,在配置文件中可以加 {ramdom.value} 保证唯一1、clientIDRocketMQ用一个叫ClientID的概念,来唯一标记一个客户端实例,一个客户端实例对于Broker而言会开辟一个Netty的客户端实例。 而ClientID是由ClientIP+InstanceName构成,故如果一个进程中多个实例(无论Producer还是Consumer)ClientIP和...
2018-11-05 14:02:22
1003
原创 Windows下安装配置orange 权限框架
工具:win32 cygwin镜像源:http://mirrors.163.com/cygwin/x86需要安装的工具:openssl、pcre、libcrypt、zlib、make、perl、readline参考:http://blog.csdn.net/herro/article/details/16986477openresty没有对Cygwin做兼容,我们需要自己来修改文件Open bun...
2018-07-12 10:23:51
1326
原创 Docker Swarm的集群化实践以及感想
接触docker也有几年,分为几个阶段:1、最早只会run,stop,start,打好war包丢容器内去跑,把容器当成虚拟机使用。2、把jar包直接打成镜像,服务随镜像启动而生。3、使用gitlab、jenkins和docker集群、以及阿里云容器镜像服务,jenkins持续构建,用脚本打成镜像后push到阿里云仓库管理,可随时回滚项目。4、学习k8s中,计划把当前服务发现治理都用k8s实现下面分...
2018-07-10 11:51:49
474
原创 ELK + Sentinl 日志实时监控报警 钉钉、邮件
1、docker安装elk镜像:sebp/elk挂出的端口:5044,5601,9200,93002、进入容器,安装sentinl插件进入kibana安装目录:/etc/kibana/bin ,执行:./kibana-plugin install https://github.com/sirensolutions/sentinl/releases/download/tag-6.2.3-3/sent...
2018-06-08 17:02:19
14215
23
原创 Docker Swarm 容器内部无法获取客户端真实ip 全为10.255.X.X
docker的集群模式容器内如果需要获取客户端真实ip,往往只能获取到10.255.X.X。翻了一圈网上的解决方案,基本上锁定了用Nginx进行域名转发后加参数的方法。server { listen 12345;//端口 server_name www.bbb.com;//域名 location / { ...
2018-06-04 14:35:26
5959
11
原创 Mybatis批量更新
项目中要做一个批量更新,有两种实现方式:1、代码遍历更新效率低2、sql语句批量更新因为使用的是mybatis<update id="updateByAll" parameterType="java.util.List"> update table <trim prefix="set" suffixOverrides=",">
2018-03-19 14:42:37
362
原创 XSS跨站脚本攻击漏洞的解决
定义:XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。如表单填写:点击保存后显示:解决思路:第一、控制脚本注入的语法要素。比如:JavaScript离不开:“<”、“&...
2018-03-07 13:42:22
8307
3
原创 高并发的解决方案—负载均衡—LVS搭建
首先这是一个简单的架构图:一、如图,高并发可能发生的地方有两处1、用户请求应用时的负载均衡处,本文仅针对此处进行分析2、应用请求数据库时,分析待续二、负载均衡处可能出现的问题,session共享问题解决方案:1、session可放在cookie中,但将seesion放浏览器处不安全2、session可存放数据库中,但大量用户请求时,数据库压力会过大3、seesion放到缓存服务器集群中。三、负载均...
2018-03-05 11:11:53
1402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人