![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术淘金
断剑走江湖
始终生活在编码的梦想中,不抛弃不放弃,坚持Coding。
展开
-
版本控制学习七种武器(Git)
学习版本控制一般侧重于几个方面,思想,粒度,流程,权限与角色,分支管理,冲突管理,工具。下面从这几个方面进行Git的说明。1、思想。首先Git是由于Linux之前的版本控制被取缔了(由于Linux社区的人玩的过火了),Linus调解无效,用了两周时间开发的Git初期版本,所以其最初主要用于Linux的版本控制。Linux各路大牛汇聚,思想激烈碰撞,所以难免会各抒己见,不像大家平时开发项目一样,原创 2014-09-25 08:52:03 · 536 阅读 · 0 评论 -
Apache-APR配置方案
cd httpd-2.2.2 安装APR cd srclib/apr #./configure --prefix=/usr/local/apr #make #make install 安装APR-util cd srclib/apr-util #./configure --prefix=/usr/local/apr-util --with-apr=/原创 2016-03-30 08:41:35 · 423 阅读 · 0 评论 -
一种简单的分布式系统服务架构
1、整体框架2、主要难点:首先,使用一些现有的框架完成时,需要在负载均衡策略上进行一定的考虑,必要时可能会修改一部分现有框架的源码;其次,在异常情况下主负载均衡与备份负载之间需要通过ZooKeeper进行感知及业务转换;另外,在进行服务的过程中需要考虑异常情况下服务器如何进行返回处理数据的问题,可以在不同的服务器上都对ZooKeeper进行监听从而达到变化时内容变化的目原创 2016-03-30 08:44:16 · 334 阅读 · 0 评论 -
MyCat分布式框架演化过程(安利贴)
1、MyCat为什么没用使用Netty2、简单、高效3、MyCat配置文件的变迁4、引入ZooKeeper配置(配置标准化、易于与其他系统集成)5、跨分片SQL Join的问题6、Spark SQL转化问题7、MyCat Server转发方式8、MyCat高可用(升级问题)原创 2016-03-30 08:51:09 · 443 阅读 · 0 评论 -
OpenAIS学习笔记
OpenAIS概况资源、服务与节点关系:资源(vip、httpd、filesystem)或多个资源组合,服务运行在某个主机上,所有资源同时运行在一个节点上;资源类型:原生资源(运行于一个节点)、组资源、克隆资源、主从资源;资源故障转移:资源粘性(是否能远离该节点),位置约束,排列约束(优先运行),顺序次序(操作顺序);节点存在方式节点成员;等同的原创 2016-03-30 08:55:01 · 1897 阅读 · 0 评论 -
分布式高性能的若干问题
1、Linux的什么内核包括LVS,说说LVS的三种负载均衡模式的原理与效率对比;2.6.32之后的内核版本包括LVSLVS-DR,直接相连模式,调度器与实际服务器各有一块网卡,并且都连在相同的网段上,客户端访问调度器,之后直接调度器进行ARP解析,解析到相应的服务器上,从而从服务器返回,在整个过程中公用一个对外访问地址;LVS-NAT,NAT模式,调度器通过端口转发的方式,将数据内容通过原创 2016-03-30 08:57:06 · 605 阅读 · 0 评论 -
分布式系统中的高可用若干问题
1、高可用常识系统不可用时间=故障修复时间点-故障发现时间;系统年度可用性=(1-不可用时间/年度时间)*100%;过载、断点、挖断光缆、误操作、代码质量问题、流程过于自动化;如何提高?硬件、环境,x86系统的可靠性比unix低一些;同城、异地负载,系统运维比较关键,适当巡检;系统监控与告警,自动修复;2、打造高可用系统主备(Master-Slave、VIP;自动切换与原创 2016-03-30 08:59:31 · 999 阅读 · 0 评论 -
消息中间件与RPC若干问题简析
1、消息中间件和消息通信与RPC各自具有怎样的优势,如何互补消息中间件主要实现的是异步、弹性消息以及队列,弹性消息有时可以借助于外存从而一定程度上可以实现峰值缓存,有效均衡服务器端压力,同时消息可以进行一定程度上的定于,从而实现了基于分组的广播,同时可以实现消息订阅;RPC则是主要集中于外部的方法调用,通过某种通讯方式实现数据的集中调用与访问,以简单通讯协议为像本地方法一样完成远程方法调用原创 2016-03-30 09:02:09 · 4105 阅读 · 0 评论 -
twemproxy集群部署
1、twemproxy主要用于memcached集群与redis集群的部署,其中定义了不少相关的参数;2、redis集群部署示例:redis1: listen: 0.0.0.0:9999 redis: true hash: fnv1a_64 distribution: ketama auto_eject_hosts: true timeout: 40原创 2016-03-30 09:04:12 · 636 阅读 · 0 评论 -
Tomcat集群部署
1、Tomcat集群部署,一边情况是nginx+tomcat+memcached,考虑的重点就是Session共享机制,当也可以考虑tomcat自身的合并与复制,但是对扩展的话就多少有些差强人意;2、闲话少说,Memcached-Session-Manager就是进行Session共享的jar包,原本是google project上面的项目无法访问,现上面项目在github上也有保存,地址ht原创 2016-03-30 09:05:03 · 514 阅读 · 0 评论 -
Spring定时任务之Quartz
Spring定时任务之QuartzSpring通过DI和IoC方式给大家提供了很多便捷操作,很多地方不需要编写大量代码,仅需要通过配置文件加简单的注解就可以完成,最近在项目开发过程中用到Quartz,借此学习并跟大家分享一下。 Quartz作为老牌Scheduler执行工具,提供了很多便利,学习起来也比较方便,由于之前进行网站开发相对较少走了不少弯路。首先,项目需要通过maven引入相关开发包,从原创 2016-07-21 16:34:07 · 287 阅读 · 0 评论 -
一种通用的DAO访问方法
在SpringMVC开发过程中各个层级需要编写大量重复代码,解决方法有三:其一、粘贴复制,似乎不少人这么干;其二,通过代码生成工具,设置变量替换大量文件;其三,构建通用方法实现代码复用。写者疲于复制,没有采用第一种,没有现成好的模板没有采用第二种,于是,通过第三种方法构建通用访问方式。要点考虑通用方法必须考虑的几点:通用到何种程度,通用到哪个级别如何控制相应层次,如何解决不同实体的差异访问以及如何进原创 2016-07-21 17:16:19 · 1745 阅读 · 0 评论 -
MongoDB基本文件操作
MongoDB中基本的文件操作有put、get、list、search几种,可以很方便地进行文件存储于查找,以下是一个简单的示例。1、利用dd命令生成要求大小随机文件 2、使用put命令将生成文件依次写入mongodb中filetest数据库中3、使用list命令将数据库中文件列出4、使用get命令下载文件5、使用search命令查找文件原创 2015-08-09 15:15:50 · 882 阅读 · 0 评论 -
MongoDB大文件存储流程
1、启动mongodb服务,查看使用mongofiles查看文件列表;之后分别存储mongod.pdb,spring-tool-suitXX,两个文件,文件大小分别为100M+,400M+;2、从日志中可以看出文件分别依次创建64M、128M、256M、512M大小的文件;3、连接Mongodb,查看fs文件内容:原创 2015-08-02 21:56:22 · 3175 阅读 · 0 评论 -
跟着岐哥学WebApp(一)
缘生 接近年关,项目频繁交账,其中一个项目需要开发一个移动端采集,大概月底需要在IPad上有一个基本可用的程序,将现有的程序替下。这是大体背景,同时在架构及功能的要求还比较容易把握,移动端开发基本上还是三年前涉及Android原生开发,开发流程大不相同,正好借此机会熟悉一下WebApp开发流程。基本上保持2~3天写一次总结,总的下来应该会有十多篇,留作记录之用。缘起原创 2015-12-09 18:42:30 · 452 阅读 · 0 评论 -
初探Elasticsearch
ElasticSearch集成了传统数据库的精确查找与现代化搜索引擎的查找需求,所以从一定程度可以实现对资源的一种全文搜索与精确搜索的结合,该方案可以应用在常见的站内搜索,资源匹配,甚至构建自己的搜索引擎,本身它的底层就依赖于lucene进行倒排索引。另外在部署方面solr有非常强的优势,它附带的一些插件让大家很好的监控集群的状态以及一些运行情况,从而实现了屌丝管理到高大上管理的变迁。原创 2015-04-29 10:24:56 · 694 阅读 · 0 评论 -
一键部署MongoDB集群Windows版
因为周末在家手头没有虚拟机,所以在windows下单机完成部署要求,并编写bat运行脚本。1、创建配置文件及相关目录总的启动脚本如下(startmc.bat):rem m1start mongod.exe --config=../config/m1/s1_1start mongod.exe --config=../config/m1/s1_2start mongod.e原创 2015-07-19 16:47:36 · 2187 阅读 · 0 评论 -
git基本操作
git服务器地址:10.0.96.250git用户名为各自名称全拼,密码为用户名加123项目地址为http://10.0.96.250/hanyueqi/datapubgit可以通过下载git的windows客户端或eclipse中集成的git客户端ps:注意其中的分支,选择与自己用户名相同的分支进行操作windows客户端步骤:1、安装客户端2、设置git账户原创 2014-10-14 09:56:57 · 512 阅读 · 0 评论 -
MariaDB Galera(Centos6.4)yum安装
#使用yum remove mysql#移除本地mysql及其依赖包#添加MariaDB.repo文件在/etc/yum.repo.d/下,内容如下:[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.0/centos6-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-原创 2014-12-17 16:28:39 · 503 阅读 · 0 评论 -
企业级服务总线ESB
几个概念需要明确SOA、OSGI几种解决方案共存JBIJBI(Java Business Integration,Java业务集成,Java业务整合)是一种企业服务总线(Enterprise Service Bus,ESB),使我们能够用Java实现面向服务的架构。企业正转向以面向服务架构(SOA)和网络服务,以提供灵活的IT系统,用一种成本低廉的方式来支持快速变化的商业需求。JB翻译 2014-12-17 16:04:34 · 765 阅读 · 0 评论 -
MariaDB源码安装指南
需要用到cmake,openssl-devel,ncurse-devel安装包之后使用基本配置cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/mariadb -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_SSL=system#数据库初始化(初始化脚本中可能原创 2014-12-17 15:59:46 · 867 阅读 · 0 评论 -
Squid安装与设置
#以下配置参数经过一一筛选确定没有问题./configure --prefix=/usr/local/squid --enable-kill-parent-hack --with-maxfd=344800 --enable-snmp --enable-carp --enable-referer-log --enable-useragent-log --enable-delay-pools --原创 2014-12-17 16:03:17 · 489 阅读 · 0 评论 -
Oracle数据库增加表空间
Oracle用来处理数据量比较大的数据时,可以用到分区分表,理论上建议分区个数为3000,如果设置成每天自动分区,理论上可以用九年,但是实际过程中肯定需要硬盘支持,另外,跨分区的操作贼慢,扯得有点原来。如果你的大量数据无法插入,少量数据不受影响,这时候你可以看一下表空间情况:查看表空间使用情况: SELECT A.TABLESPACE_NAME原创 2014-12-02 16:43:04 · 733 阅读 · 0 评论 -
Nginx简单安装配置(V1.7.8)
#安装pcre-devel进行http-rewrite,安装zlib开启http-gzip压缩功能;yum install pcre-devel zlib-develmake && make install如果需要开启nginx状态在进行configure时加入--with-http_stub_status_module并在相应的server下加入相应的location,例如原创 2014-12-18 19:54:05 · 554 阅读 · 0 评论 -
tomcat-apr-tomcat native基本配置
首先安装apr与apr-util之后进入tomcat/bin/中找到tomat-native包进行编译,编译时最好指定为apr目录./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java --prefix=/usr/local/aprmake && make installjava远程端口需要修原创 2014-12-18 19:57:43 · 567 阅读 · 0 评论 -
Nginx日志log
Nginx中的日志基本上都用log_form 日志名称 显示日志等类型,示例如下:log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '原创 2014-12-25 20:02:37 · 417 阅读 · 0 评论 -
tomcat集群配置方案对比
Tomcat集群配置方案大体上可以分为两种配置方案:共享Session型与不同享Session型。当然,其中各有千秋,如果不共享需要上层需要有一定结构进行一致化路由。何谓一致化路由,简单来讲,就是你上次怎么走路,这次还是怎么走,实现的方式有很多种,例如直接按照nginx进行来源或者目的ip进行相应的hash,dns进行地域划分等等,只要能保证上一次和下一次踏入的是“同一条河流”即可。另一方面,原创 2015-05-04 15:51:53 · 872 阅读 · 0 评论 -
repcached与mysql缓存测试
使用gem安装mysql引擎gem install mysql(如果安装失败,请查找一些依赖组建是否安装,例如mysql-devel)编写ruby脚本,先获取mysql数据,之后从memcached获取数据,并计算两者之间获取数据时间差,代码如下:运行结果如下:结论:通过计算我们可知Memcached提升了将近两个数量级;原创 2015-06-30 09:00:06 · 720 阅读 · 0 评论 -
repcached配置与简单测试
安装libevent-devel进行configure,安装在目录/usr/local/repcached下编译安装完成启动11211节点启动11212节点编写文件验证复制(分别向1、2节点存入数据,验证复制)ruby运行结果原创 2015-06-30 09:01:54 · 818 阅读 · 0 评论 -
常见分布式计算框架特点
Hadoop:Hadoop在使用原理上基本上遵照了Map、Reduce这样的一种模式进行项目的实际开发与交互,将一个个任务分解成映射与合并两种方式,然而通过映射进行分类与简化,从而产生部分归并结果,然后对同类结果进行归并计算;由于Hadoop的中间结果需要依托于hdfs,从而需要经历硬盘及网络io的过程所以在实时性方面表现稍差;Hadoop主要处理hdfs上的文本文件,而文本文件内容本原创 2015-07-07 18:19:44 · 2084 阅读 · 0 评论 -
MongoDB环境部署
1、MongoDB在Linux下的安装配置应用shutdown kill -2/-4use admin; db.shutdownServer();kill -9 可能会导致数据丢失、文件损坏、之后需要进行修复;2、MongoDB体系结构解读跨平台数据库Linux、Unix、Max、Windows整体架构相同MongoDB Server实例、数据库原创 2015-07-19 17:09:53 · 445 阅读 · 0 评论 -
大数据相关英文名称解释
hive|命令|全称 ||–|--|| MSCK | metastore consistency check |原创 2019-03-10 09:15:58 · 3654 阅读 · 0 评论