解析xml并去读写相应数据 一、解析xml字符串步骤有些比较老的服务会通过传输xml字符串来进行传递参数对于这种场景,(在此采用dom4j的方式解析)获取数据步骤如下: //将xml字符串转为Document格式 Document doc = DocumentHelper.parseText(xml_String); //定位获取某节点 Node node = doc.select...
日志查看命令总结 1、查看最新日志tail -f filename2、规定行数显示tail -n 1000:显示最后1000行tail -n +1000:从1000行开始显示,显示1000行以后的head -n 1000:显示前面1000行从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | head -n 100...
rsa公钥私钥生成方式 rsa公钥私钥生成方式1)使用openssl terminal使用openssl命令: 输入openssl进入OpenSSL>模式 #生成私钥,1024是密钥长度 OpenSSL> genrsa -out rsa_private_key.pem 1024 #将私钥转换成PKCS8格式(按实际需要) OpenSSL> p...
Java-Function接口函数使用 java.util.function中的Function,Supplier,Predicate和其他函数式接口广泛应用在支持lambda表达式的API中。在此简单介绍Function接口Fuction接口的主要方法有:R apply(T t) : 将对象对应到输入参数上并返回计算结果default<V> Function<T,V> : 将两个fuction整...
Apollo配置中心之配置获取方式 apollo是携程开源的一款配置管理服务,开源地址https://github.com/ctripcorp/apollo apollo配置获取说明文档:https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97#311-%E8%8...
(五)架构篇之数据库开发规范 规范适用场景:并发量大、数据量大的互联网业务一、基础规范(1)必须使用InnoDB存储引擎原因:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用UTF8字符集原因:万国码,无需转码,无乱码风险,节省空间(3)数据表、数据字段必须加入中文注释原因:方便后来的人理解数据库设计(4)禁止使用存储过程、视图、触发器、Event原因:...
技术分享 说明:本篇博客只是记录一些有用的技术方法,不做具体说明,大家可参考然后自己去查阅相关资源 1、根据ip获取用户地理位置信息2、关于服务的启动和更新,提供一个思路:当切换服务时,先检测是否仍有工作线程,直到工作线程全部结束后,停止旧的服务,然后更新启动新服务。3、常见的用户白名单限制,可单独抽取成一个服务,白名单是否生效,建议配置到一个json-config中,通过后端维护来进行开关...
protobuf格式化插件protobuf support安装说明 proto 代码格式化插件使用说明1、打开 intellij "Preferences..." 窗口,选择 "Plugins" 选项卡,点击 "Browse repositories..."2、在打开的页面中搜索protobuf support,并点击install安装,如下图步骤2,3,43、如果从插件库无法成功安装,请采用如下方法到官网下载插件包(https://plug...
(四)架构篇之负载均衡 一、概念负载均衡,是指通过不同的方式实现将request分发到多个服务器节点上,从而实现分布式部署。不同配置的服务器节点可以根据不同权值分配相应的request。二、介绍几种负载均衡的方案1、常见的负载均衡方案常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每一个下游都有多个上游调用,只需要做到,每一个上游都均匀访问每一个下游,就...
(三)架构篇之分布式id生成策略 分布式系统常见的一种场景就是要求id全局唯一,以下介绍七种,并分析优劣。1、利用数据库自增id特性。优点:1)简单。2)ID有序排列,分页和排序方便,方便统计数据增长。缺点:1)可用性难以保证:数据库常见架构是一主多从+读写分离,生成自增ID是写请求,主库挂了就玩不转了2)扩展性差,性能有上限:因为写入是单点,数据库主库的写性能决定ID的生成性能上限,并且难以扩展...
BigDecimal的简单使用 一、作用常用于高精度要求,BigDecimal可精确到20位比如:涉及钱的时候常用二、基础使用 //通过new BigDecimal(double)赋值 BigDecimal bigDecimal = new BigDecimal(5.5); //加 bigDecimal.add(BigDecimal.ONE); ...
(二)架构篇之容量评估 容量评估的步骤与方法【步骤一:评估总访问量】如何知道总访问量?对于一个运营活动的访问量评估,或者一个系统上线后PV的评估,有什么好的方法?答案是:询问业务方,询问运营同学,询问产品同学,看对运营活动或者产品上线后的预期是什么。举例:如果要做一个APP-push的运营活动,计划在30分钟内完成5000w用户的push推送,预计push消息点击率10%,求push落地页系统的总访问量?...
(一)架构篇之架构概况总览 1、总体架构总结1)接入层架构要考虑的问题域为:高可用、扩展性、反向代理+扩展均衡2)nginx、keepalived、lvs、f5可以很好的解决高可用、扩展性、反向代理+扩展均衡的问题3)水平扩展scale out是解决扩展性问题的根本方案,DNS轮询是不能完全被nginx/lvs/f5所替代的最重要的一点就是服务不能宕机,宕机可以立马恢复。可根据实际情况来采用以下三种策...