Todd.log - a place to keep my thoughts on programming 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.…
前言 HTTP Method的历史: HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这三个方法 HTTP 1.1 这个版本是当前版本,包含GET HEAD POST OPTIONS PUT DELETE TRACE CONNECT这8个方法 我们先看看HTTP 1.1 规范的中文翻译 方法定义(Method Definitions) HTTP/1.1常用方法的定义如下.虽然方法可以被展开,但新加的方法不能认为能分享与扩展的客户端和服务器同样的语义…
Todd.log - a place to keep my thoughts on programming 评OO设计 昨天在微博上看到InfoQ提供了一本新书<完美软件开发:方法与逻辑>的PDF迷你版,这本书的介绍吸引了我: 这书是培养帅才的书.如果想成为一方悍将(比如:C++高手,Android高手),那这书是不太适合的:但如果想鸟瞰全局,运筹帷幄,带领团队攻城略地,那这书是很有参考价值的. 我重点看了它的第7章“完美设计和编码之解构”,应该说这是一本好书,但是对我来说总体上没有什么新的收…
转自:调用Process.waitfor导致的进程挂起 最近遇到pipe_wait问题,父进程调用子进程时,子进程阻塞,cat /proc/$child/wchan输出pipe_wait,进程阻塞在pipe_wait不执行,转载文章对此问题分析很透彻. 问题背景 如果要在Java中调用shell脚本时,可以使用Runtime.exec或ProcessBuilder.start.它们都会返回一个Process对象,通过这个Process可以对获取脚本执行的输出,然后在Java中进行相应处理.例如,…
微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用.这些小应用之间通过服务完成交互和集成.每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是独立的一套.在这里我们不用组件而用小应用这个词更加合适,每个小应用除了完成自身本身的业务功能外,重点就是还需要消费外部其它应用暴露的服务,同时自身也将自身的能力朝外部发布为服务.如果一句话来谈SOA和微服务的区别,即微服务不再强调传统SOA架构里面比较重…
Redis Java客户端有很多的开源产品比如Redission.Jedis.lettuce等. Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持:Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序.事务.管道.分区等Redis特性.Redisson主要是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上.由于常用的是jedis,所以这边使用jedis作为演…
微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用.这些小应用之间通过服务完成交互和集成.每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是独立的一套.在这里我们不用组件而用小应用这个词更加合适,每个小应用除了完成自身本身的业务功能外,重点就是还需要消费外部其它应用暴露的服务,同时自身也将自身的能力朝外部发布为服务. 如果一句话来谈SOA和微服务的区别,即微服务不再强调传统SOA架构里面比较…
项目地址 :  https://github.com/kelin-xycs/SOALog SOALog 为 SOA 架构 提供一种 松耦合 乐观 的 数据一致性 解决方案,说白了这个组件的功能就是 记录 Log 到 数据库 里. 现已支持 控制台 WinForm 文件 数据库 4 种 输出方式 . 最初写这个组件的想法 , 是 为 面向服务 的架构 提供 一种 松耦合 乐观 的 数据一致性 解决方案 . 实际上 , 在 分布式 架构中 , 分布式 Log , 本身就是 分布式架构 的 一个组成部…
  安装Wazuh服务器 Wazuh服务器可以安装在任何类型的Unix操作系统上.最常见安装在Linux上.如果可以为您的系统提供自动化脚本,则安装过程会更容易,但是,从源码构建和安装也非常简单. 通常在Wazuh服务器上安装两个组件:管理器和API.此外,对于分布式体系结构(Wazuh服务器将数据发送到远程Elastic Stack集群),需要安装Filebeat. 安装Wazuh服务器有多种选择,具体取决于操作系统以及是否希望从源代码构建.请参阅下表并选择如何安装: 类型 描述 RPM包 在…
一.wazhu部署架构 1.服务器上运行的Agent端会将采集到的各种信息通过加密信道传输到管理端. 2.管理端负责分析从代理接收的数据,并在事件与告警规则匹配时触发警报. 3.LogStash会将告警日志或者监控日志发送到Elasticsearch上面,最后通过Kibana可视化展示日志. 分布式部署:在不同主机上运行Wazuh服务器和Elastic Stack集群(一个或多个服务器). 单主机架构:在同一主机上运行Wazuh服务器和Elastic Stack. 两者的主要差别在于,前者需要使…