[TOC]
目的
学习一下spring-session中包含的一些设计,理解其设计思想,其次是了解内部源码,逻辑。
工程结构
来自spring-session的思考
首先思考一下spring-session要解决什么问题,其次达到什么样的设计要求,
我们首先来正向推导,然后在结合代码逆向推导,他达到了一些什么要求
Coding changes the world
[TOC]
学习一下spring-session中包含的一些设计,理解其设计思想,其次是了解内部源码,逻辑。
首先思考一下spring-session要解决什么问题,其次达到什么样的设计要求,
我们首先来正向推导,然后在结合代码逆向推导,他达到了一些什么要求
越来越多的消息中间件很容易让人产生混淆,在学习一种消息中间件的时候,最好先了解他的几种抽象概念,方便你理解,明白了这些概念,你学习起来的时候也就得心应手,同时也是使用好RabbitMQ的基础。
[TOC]
该文档针对平台部署服务过程中遇到的临界资源互斥同步问题所设计的解决方案进行详细阐述。
平台支持对服务的安装,更新,启停,备份,卸载,查询等操作,由平台发起命令,agent执行任务,由于agent是多线程并发处理任务,试想一下,多用户对主机上同一服务的进行操作,例如同时卸载和备份,会出现什么可怕的情况。老版本的所有操作,都是人工通过简单if else状态判断,没有从根本上发现问题的本质,并且耦合了业务属性,没有对其进行足够的抽象。
英文名称或缩写 | 名词解释 |
---|---|
curator | 操作zookeeper客户端 |
zookeeper | 一个分布式的,应用程序协调服务 |
平台 | 部署平台 |
agent | 前置执行脚本工具 |
平台锁提供了两种实现方式,一种是基于jdk原生的ReentrantLock,另一种是基于zookeeper的分布式锁,两种方式更有优劣,原生方式的好处是不需要引入第三方组件,由自己在内存中维护锁,zookeeper好处是如果未来平台支持集群,那么锁服务可以无缝衔接。
[TOC]
软件版本:quartz-2.2.3
上一篇介绍了quartz的启动过程,这篇主要介绍quartz的执线程模型,众所周知,quartz并没有采用定时器去完成定时任务,而是通过线程去完成。为了简化对quartz线程模型的理解,就暂用下理解方式吧
类名 | 名词解释 |
---|---|
SimpleThreadPool | 工头儿 |
WorkThread | 工人 |
QuartzScheduleThread | 老板 |
JobRunShell | 工作,实现了Runnable |
[TOC]
基于此书第二版,会加上自己的一些理解,如有错误,望指出。后续会一点点更新
主要介绍了java的技术体系,java发展史,java虚拟机发展史和java未来
[TOC]
在研发平台的过程中,涉及到平台网关和前置agent的通信加密,虽然目前软件在内网中,但是由于平台和agent的特殊性,一旦被控制,部署的软件就会受到很大威胁,平台网关采用Netty开发,下面主要介绍一下netty的ssl配置和安全软件扫出的Diffie-Hellman弱密码问题解决方法
跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS。但是,由于与层叠样式表 (Cascading Style Sheets)缩写同名,特将跨站脚本缩写为XSS。
跨站脚本,顾名思义,就是恶意攻击者利用网站漏洞往Web页面里插入恶意代码 例如
现在假设攻击者在论坛网站A的一个帖子进行了如下回复:
转自https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7
翻译by rou liu
上一篇介绍完了部署shadowsocks 大多数情况下已经满足需求,但是如果想看youtube高清视频
或者在线直播,那就要用到接下来的方法,感谢goolgle。
BBR(Bottleneck Bandwidth and RTT)是一个新的拥塞控制算法,由谷歌贡献的Linux内核的TCP协议栈。有了BBR,Linux服务器可以得到显著提高连接的吞吐量和减少延迟。此外,它很容易部署,因为这种算法只需要在发送方更新,而不需要在网络或在接收端部署BBR。
在本文中,我将向你展示如何在Vultr CentOS的7 KVM服务器实例上部署BBR。