
系统架构和设计
文章平均质量分 84
zollty
这个作者很懒,什么都没留下…
展开
-
JSON序列化继承Map的自定义对象时拿不到field属性值
如题,该问题在国外论坛上已有人提出来:https://stackoverflow.com/search?q=jackson+extends+map但是并没有满意答案,都说要使用jackson的@JsonAnySetter注解:https://stackoverflow.com/questions/31320983/jackson-serialise-map-with-extra-fields,但是这样一来就和Jackson绑定死了,换成Gson或者FastJSON就不灵了。现在,我把问题...原创 2020-08-26 11:11:10 · 1223 阅读 · 2 评论 -
设置事务超时时间的问题及Oracle数据库update和锁
用了VPN上网,Maven报错如下:Connection to http://107.2.10.22:8081 refused: Connection timed out: connect最终查到原因是由于,VPN做了权限限制,只允许HTTP协议,导致ping不通,Maven也连接超时。将VPN权限放开,设置为允许 HTTP、ICMP、UDP等协议就行了。...原创 2020-08-25 13:43:44 · 4865 阅读 · 0 评论 -
内存缓存之HashMap、EHCache、Guava Cache对比
缓存不应该被过度使用,在不同场景下,选用不同的方式缓存数据。 简单场景,存入一些占用内存不多的数据,而且这些数据不会主动发生变化,服务器启动后就永久存储,修改和删除都是全手动执行。而且服务器重启时不需要再自动恢复到之前的状态。这种数据直接用Map等放到内存中即可。 而一个标准Cache的主要特征有: 过期时间 容量规划(重要) 清除策略(重要) ...原创 2019-01-09 13:07:30 · 7001 阅读 · 0 评论 -
代码分支管理规范
代码分支管理规范:(主要基于GIT,但SVN也可借鉴) 核心思想: 控制代码提交权限,保证主分支和tag分支都是经过测试验证的,保证测试分支不被随意更改。 另外支持对提交的代码进行审查。 支持多分支并行开发,保证版本管理严谨、不混乱。 从项目仓库A(称之为测试和发布仓库)中master拷贝一个分支出来,例如 branch_1.0.0这个仓库A,包括它...原创 2019-01-09 13:07:15 · 2594 阅读 · 0 评论 -
密码安全解决方案
一、密码存储安全不存储明文密码,也不存储密码的MD5(现在的技术可以破解MD5,不安全)。 建议方案:采用加盐、不可逆的密码算法,并且使得同一个明文密码,每次加密结果都不一样。 二、一般安全性措施1、防止用户无限次尝试密码,暴力登录方案举例:某个用户密码输错3次后,锁定该用户1分钟,如果输错10次,锁定2小时。 2、日志脱敏禁止把用户的明文密码 打印到日志中...原创 2019-01-09 13:07:05 · 5458 阅读 · 0 评论 -
Session和Cookie原理
一、Session术语、通常意义上的概念 Session的英文含义为:会议,或者代表进行某活动、会议连续的一段时间(会期、学期)。 在计算机里面,通常是指某个连接或者操作的连续时间。Session的含义不仅仅局限于常见的HttpSession、浏览器会话,Session是一个广义的概念,HttpSession只是session的一种代表,比如对象的生命周期其实也可以看做是一个ses...原创 2019-01-09 13:06:57 · 383 阅读 · 0 评论 -
灰度升级方案
首要目的:利用线上服务器、线上数据,做系统的测试(主要是功能测试)。其他目的:利用线上服务器、线上数据,做一个特殊用途的应用(只是客户端不一样,内部处理流程都和正式系统一样)。 必要原则:1、灰度系统的主要程序流程和正式环境一样,否则灰度系统没有测试和验证的意义。2、从灰度环境,不用再次上线,能够快速地切换到正式环境。 关键思路:1、把少部分数据引入灰度系统,数据的...原创 2019-02-26 18:06:44 · 7070 阅读 · 2 评论 -
微服务之服务治理相关内容
一、内容总结如下:1. 服务注册与发现2. 软负载均衡与容错3. 服务监控与统计4. 服务容量评估5. 服务上线审批6. 服务下线通知7. 服务负责人8. 服务文档9. 服务路由10. 服务编排11. 服务黑白名单12. 服务权限控制13. 服务依赖关系14. 服务分层架构15. 服务调用链跟踪16. 故障传导分析17. 服务降级...原创 2019-02-26 18:04:55 · 3390 阅读 · 0 评论 -
SOA集群服务相关知识
一、一些概念1、SOASOA(Service-Oriented Architecture),即面向服务的架构。架构就是一套构建系统的准则。通过这套准则,我们可以把一个复杂的系统划分为一套更简单的子系统的集合,这些子系统之间应该保持相互独立,并与整个系统保持一致。而且每一个子系统还可以继续细分下去,从而构成一个复杂的企业级架构。构建企业软件系统时,要考虑架构的可用性,性能问题,容错能...原创 2018-12-27 22:38:30 · 470 阅读 · 0 评论 -
REST API安全认证研究
一、概述 对外网暴露的RESTful API,由于是无状态的,如果不做认证,那就相当于裸奔的,任何人都可以调用,随意调用,这样是极不安全的。下面就RESTful API的安全性方案进行了一些研究。 (但是首先建议,核心系统的API不对外网暴露,只允许内网调用,而且不建议做成HTTP RESTful形式。如果非要使用RESTful API对外网暴露接口,那么请看下面)。 ...原创 2018-12-28 12:42:03 · 1207 阅读 · 0 评论 -
JWT技术——基于token的鉴权机制
本文是《REST API安全认证研究》的一部分。 JWT技术(基于token的鉴权机制)流程上是这样的: 用户使用用户名密码来请求服务器 服务器进行验证用户的信息 服务器通过验证后生成一个token发送给用户 客户端存储token,并在每次请求时附送上这个token值 服务端验证token值,并返回数据 这个token必须要在每次请求时...原创 2018-12-27 22:38:20 · 7200 阅读 · 0 评论 -
加密和签名技术分析
早在2013年,我就设计了 开放平台,那时参考了 新浪开放平台 \腾讯\百度\淘宝\支付宝\豆瓣 开放平台,并研究了 OAUTH(1.0和2.0)最终第一版采用的OAUTH 1.0实现,第二版采用OAUTH 2.0实现。 但是有一个疑问,当时没弄清楚,就是 “为什么 支付宝用的RSA加密和签名,而新浪、豆瓣等用的AES加密、SHA1签名?” 现在,我又深入研究了一晚上,终于想明...原创 2018-12-27 22:38:03 · 1420 阅读 · 0 评论 -
版本管理规范
一、统一的版本号表示规则,遵循 Semantic Versioning(语义化版本)规范:(中文版 http://semver.org/lang/zh-CN/) 二、并且将下面规则的作为补充: 以一个完整的版本号为例:1.3.6-beta-11其中,"1.3.6"是标准版本号;"beta"是先行版本号,是可选的;11是编译信息,也是可选的。 1、对于业务系统...原创 2018-12-25 18:07:47 · 1556 阅读 · 0 评论 -
消息推送系统的设计
一、消息推送系统设计需求1、高性价比,在有限的硬件资源下,尽可能的提高消息系统的性能和可用性。2、提高数据的一致性。二、分析消息推送,按数据量划分,包括两类:1)持续的大量数据(比如:持续的物联网GPS上报等)推送,单类数据量大于 10 kb 每秒 。2)低频率、数据量小的偶发事件、通知类的数据推送。消息重要性和实时性原创 2016-12-31 21:52:27 · 11573 阅读 · 0 评论 -
Java项目日志记录方案
一、概述1、采用slf4j作为日志API,采用logback作为日志输出工具,用slf4j桥接方式替换掉log4j和commons-logging。2、采用trace(追踪)、debug(调试)、info(信息)、warn(警告)、error(错误)、fatal(致命)共6种日志级别。3、采用dev(开发环境)、test(测试环境)、production(生产环原创 2016-12-31 21:49:44 · 16035 阅读 · 0 评论 -
应用日志记录规范
一、日志分类1、按等级分类1)TRACE级、DEBUG级:理论上“不属于错误”,只是打印一些状态、提示信息,以便开发过程中观察,开发完成、正式上线后,要把它们都屏蔽掉。2)INFO级: 理论上”不属于错误”,只是一些提示性的信息,但是即使在开发完成、正式上线的系统中,也有保留的价值。3)WARN级:属于轻微的“警告”,程序中出现了一些异常情况,但是影响不大,还可以正原创 2016-12-31 21:47:27 · 8501 阅读 · 0 评论 -
大数据量报表系统的改进方案
如果是行家,提起报表,你是否想起了JasperReports( iReport )、Birt、JFreeReport、水晶报表等?但是,在海量数据问题面前,这些工具都弱爆了。怎么说呢,这些报表工具,的确功能强大、支持可视化的“报表模板”制作,用它来制作公文文件、财务报表、统计汇总表等,非常实用。但是我讲的是一种大数据量的报表,可能不是一张word或者几千条的excel能够导出的,比如说订单报表、销原创 2016-12-31 21:45:13 · 11807 阅读 · 0 评论 -
多服务器数据同步问题
多服务器并发的操作同一个数据库的同一张表。有如下一张表:/* Table: APP_TASK */TASKNO VARCHAR2(22) not null,TASK_TYPE VARCHAR2(2) not null,EXECUTE_TIME DATE,PARMAS_XML VARCHAR2(2000),STATUS VARCHAR2(1)原创 2016-12-31 21:43:31 · 4360 阅读 · 1 评论