Duncan's Blog

何以解忧,唯有学习

0%

OneData数据治理方法论

简介

​ onedata体系理论发源于阿里巴巴,目的在于对其庞大业务系统进行中台化管理,期望基于此理论体系构建统一、规范、可共享的全域数据体系,避免数据冗余和重复建设,规避烟囱式建设和不一致性,从而快速响应需求,对外提供高质量数据服务。

阅读全文 »

Hexo简介

Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Coding上,是搭建博客的首选框架。大家可以进入Hexo官网进行详细查看。

阅读全文 »

Docker

容器技术

  容器技术相比于管理程序虚拟化(hypervisor virtualization,HV)的不同之处在于,
管理程序虚拟化通过中间层将一台或者多台独立的机器虚拟运行与物理硬件之上,而容器则是直接运行在
操作系统内核之上的用户空间。因此,容器虚拟化也被称为“操作系统级虚拟化”,容器技术可以让多个
独立用户空间运行在同一台宿主机上。

阅读全文 »

原理分析

首先,用户的行为会触发浏览器对被统计页面的一个HTTP请求。比如,让用户打开
一个页面时,触发页面中的埋点代码的执行。

埋点:事先在网页中加入的一小段js代码,这个代码片段一般会动态创建一个
script标签,并将src属性指向一个单独的js文件,然后这个js文件会从数据采集服务器端返回,并自动触发(js匿名函数自调用),
这个js往往就是真正的数据收集脚本。数据收集完成后,js会请求一个后端的数据收集脚本,这个脚本一般是一个伪装成图片的动态
脚本程序,js会将收集到的数据通过HTTP参数的形式传递给后端脚本。后端脚本解析参数并按指定的格式存储该数据。同时可能会在
HTTP响应中给客户端种植一些用于追踪的cookie。

阅读全文 »

MyCat简介

  Mycat 背后是阿里曾经开源的知名产品——Cobar。 Cobar的核心功能和优势是MySQL数据库分片。
  Mycat 是基于 cobar 演变而来, 对 cobar 的代码进行了彻底的重构, 使用 NIO 重构了网络模块,并且优化了Buffer 内核, 增强了聚合,oin等基本特性, 同时兼容绝大多数数据库成为通用的数据库中间件。简单的说, MyCAT 就是: 一个新颖的数据库中间件产品支持 mysql 集群,或者mariadbcluster, 提供高可用性数据分片集群。你可以像使用 mysql 一样使用 mycat。 对于开
发人员来说根本感觉不到mycat的存在。

阅读全文 »

keepalived简介

  keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。

  keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,
或工作出现故障,keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器
工作正常后,keepalived自动将web服务器加入到服务器集群中,这些工作全部自动完成,不需要
人工干涉,需要人工做的只是修复故障的web服务器。

  keepalived是以VRRP协议位实现基础的,VRRP全称 Virtual Router
Redundancy Protocol,即虚拟路由冗余协议。

  虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同
功能的路由器组成的一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务
的VIP(Virtual IPAddress,虚拟IP地址,该路由器所在局域网内其他机器的默认路由为该VIP),
master会发组播,当backup收不到VRRP包时,就认为master宕掉了,这时就需要根据VRRP的优先级来
就可以保证路由器的高可用了。

阅读全文 »

简介

Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。

Maven 是使用 Java 语言编写的,因此它和 Java 一样具有跨平台性,这意味着无论是在 Windows ,还是在 Linux 或者 Mac OS 上,都可以使用相同的命令进行操作。

Maven 使用标准的目录结构和默认构建生命周期,因此开发者几乎不用花费多少时间就能够自动完成项目的基础构建工作。

Maven 能够帮助开发者完成以下任务:

  • 构建项目
  • 生成文档
  • 创建报告
  • 维护依赖
  • 软件配置管理
  • 发布
  • 部署

总而言之,Maven 简化并标准化了项目构建过程。它将项目的编译,生成文档,创建报告,发布,部署等任务无缝衔接,构建成一套完整的生命周期。

Maven 的目标

Maven 的主要目标是为为开发人员提供如下内容:

  • 一个可重复使用,可维护且易于理解的项目综合模型
  • 与此模型进行交互的工具和插件
阅读全文 »