Posted in 技术

Linux之Redis安装

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!


一、下载解压

## 下载Redis
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
## 解压
tar zxvf redis-2.8.17.tar.gz

二、编译安装

cd redis-2.8.17/
make ## 编译

三、Redis配置设置

## 拷贝配置和启动命令到快捷目录
sudo cp redis.conf /etc/
cd src/ ## 启动命令在src目录
sudo cp redis-benchmark redis-cli redis-server /usr/bin/

上面是方便启动罢了。

Redis配置设置

vim /etc/redis.conf

将 daemonize 从 no 修改成 yes,运行为了守护进程。

(ps:vim 搜索文本 esc — :/daemonize)

四、启动Redis

redis-server /etc/redis.conf

五、 验证

ps -ef | grep redis
redis-cli
ping ## response 'pong'
可以看到起进程。

欢迎点击我的博客及GitHub — 博客提供RSS订阅哦!———- http://www.bysocket.com/ ————-https://github.com/JeffLi1993 ———-

微         博:BYSocket  豆         瓣:BYSocket  FaceBook:BYSocket  Twitter    :BYSocket

Posted in 清文

随笔,名为无题

有道云数据丢失,整理发现 一些好玩的随笔
2015.11.11
夜有时候是亮的,因为有你的眼睛
2015.10.16
上班路上,走在盲人道上的我
脚底按摩着,耳朵听着歌,也在挺享受和盲人一样的路。
2015.09.16
和谐号像一条温柔的蛇,蛇想回家了
2015.09.02
不仅仅是花儿是向着阳光的
早上三叶草的叶子面朝着阳光
2015.07.27
鸡汤,自己熬的。
多年后才觉得,和父母在一起的时候,真的很少;多少年后,在异乡独居,才想起那时候的宿舍。
我在阳台看天空
北极星的地方朝向你
2015.07.26
好像,一切都没有意义
好像,忘了初心,初心里面的梦想
2015.06.07
路很多,沙子的、柏油的、水泥的
还有两根铁轨的
2015.03.30
健身房,镜子里面的自己的脸
嘴唇有着血的颜色
当你病了,嘴唇也会累了
2015.03.16
为了挂衣服的线两头,紧紧挂在树干
多年以后,树依旧向上生长
把线吃进去了
2015.03.15
树藤儿包裹着冰冷的铁栏
2015.02.24
妈的故事
2015.02.24

人应该有梦
有梦就别怕疼痛
让上次犯的教训
反省出梦想
2015.02.17
年30前晚,站在家村的桥上
年味 在哪里
只有取悦小朋友的小烟火。
正态分布的人生 酒绿灯红
Posted in Working Skills, 技术

Dubbo实战一:快速入门 [译]

本文根据https://github.com/alibaba/dubbo 的README,然后实战操作记录如下:

一、简介

Dubbo不单单只是高性能的RPC调用框架,更是SOA服务治理的一种方案。

核心:

1. 远程通信,向本地调用一样调用远程方法。

2. 集群容错

3. 服务自动发现和注册,可平滑添加或者删除服务提供者。

二、快速入门

环境:Maven,git,jdk

1. 克隆dubbo开源项目

  1. cd ~
  2. git clone https://github.com/alibaba/dubbo.git

2. Maven编译项目

  1. cd ~/dubbo
  2. mvn clean install -Dmaven.test.skip ## 跳过测试

下面核心点有:zookeeper作为注册中心(服务订阅和发布依托于注册中心)、服务生产者(提供服务)项目、服务生产者(提供服务)项目和监控Web项目。

过程如下:

3. 下载启动zk

  1. cd ~
  2. ## 下载解压
  3. wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
  4. tar zxvf zookeeper-3.3.3.tar.gz
  5. ## 启动
  6. cd ../bin
  7. ./zkServer.sh start

下面项目遇到target目录中编译好的项目为xxx.tar.gz。请自行用下面命令解压:

  1. tar zxvf XXX.tar.gz

4. 启动服务消费者

  1. cd ~/dubbo/dubbo-demo/dubbo-demo-consumer/target/dubbo-demo-consumer-2.5.4-SNAPSHOT/conf
  2. vim dubbo.properties
  3.    - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181 ## 更改注册中心为zk
  4. cd ../bin
  5. sh ./start.sh

5. 启动服务生产者

  1. cd ~/dubbo/dubbo-demo/dubbo-demo-provider/target/dubbo-demo-provider-2.5.4-SNAPSHOT/conf
  2. vim dubbo.properties
  3.   - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
  4. cd ../bin
  5. sh ./start.sh

其实到这里已经o了,可以打开生产者消费者项目的log进行查看:

  1. ## 打开消费者的log
  2. cd dubbo-demo-consumer/target/dubbo-demo-consumer-2.5.4-SNAPSHOT/logs
  3. tail -f dubbo-demo-consumer.log

熟悉的Hello,World的案例coming…

6. 启动监控Web项目

  1. cd ~/dubbo/dubbo-simple/dubbo-monitor-simple/target/dubbo-monitor-simple-2.5.4-SNAPSHOT/conf
  2. vim dubbo.properties
  3.    - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
  4. cd ../bin./start.sh
  5. ## 浏览器访问
  6. http://127.0.0.1:8080

可以在监控中看到消费者,生产者实例等信息

Posted in Working Skills, 技术

Git 备忘录

设置相关

设置用户姓名和邮箱:

git config --global user.name "Your Name”
git config --global user.email "email@example.com”

常用指令

克隆远程库到本地

git clone

将本地目录变成Git管理的仓库

git init

将文件添加到仓库

git add 'filename'

将文件提交到仓库

git commit -m "说明"

显示工作区的状态

git status

从上一个git status看出哪些文件被修改,则查看修改内容

git diff 

显示提交的日志

git log
git log --graph // 可以方便看出分支合并图

回滚到版本,也可以将工作区的回滚到暂存区

git reset
git reset --hard 'commitid' // HEAD指向当前版本

回滚工作区的修改

git checkout -- 'filename'

主要考虑工作区,暂存区和仓库之间的操作:

git add files //把当前文件放入暂存区域。
git commit //给暂存区域生成快照并提交。
git reset -- files //用来撤销最后一次git add files,你也可以用git reset 撤销所有暂存区域文件。
git checkout -- files //把文件从暂存区域复制到工作目录,用来丢弃本地修改。

image

关于分支 远程库待续。。。

Posted in Java, 技术

图解微服务架构演进

图解服务化架构演进

许久没摘记了,继续告诫自己:

要静下心来,低调多做事

前言

来自dubbo的用户手册中的一句话:
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。

其实这篇是概念上的总结,技术概念软文,纪录此文让自己更明白什么是微服务化架构。

服务化架构演进

请看下图,也来自dubbo的用户手册,图中恰恰少了微服务架构的图。
image

那什么是微服务架构呢?
先从第一个图中第一个说起吧。

1.orm – 单一应用架构

我认为是一个高内聚版本,所有功能部署在一起。数据访问框架(orm)成为关键。这个架构很少被人使用,几乎接近灭绝了吧。

优点:成本低,适合功能少又简单 缺点:很多,比如无法适应高流量,二次开发难,部署成本高

2.mvc架构 - 垂直应用架构

当访问量渐渐增大,慢慢演化成用的很多的mvc架构。虽然还是所有的功能都是部署在同一个进程中,但是可以通过双机或者前置负载均衡来实现负载分流。这样应用也可以拆分成不同的几个应用,以提升性能和效率。

此时,mvc架构用于分离前后端逻辑。一方面,有一定的模块化。另一方面,加速和方便了开发。

3.rpc架构 - 分布式服务架构

当mvc垂直应用分成不同应用时,越来越多的情况下。不可避免的事应用a与应用b之间的交互。此时将核心和公共的 业务功能抽出来,作为单独的服务,并实现前后端逻辑分离。

此时则就需要提高业务的复用及整合的分布式rpc框架,例如dubbo等。

4.soa架构 - 流动计算架构

当rpc架构中的服务越来越多时,服务的生命周期的管控,容量的评估等各种问题会出现,使服务化成为瓶颈。需要增加一个调度中心来进行对服务管控,监督等。

然后,提到关键的 --

5.微服务架构

问:什么是微服务架构?

答:它就是将功能分散到各个离散的服务中然后实现对方案的解耦。服务更原子,自治更小,然后高密度部署服务。

下面是对微服务架构的图解:

image

小结

伴随敏捷开发,持续交付,DevOps,Docker等高速发展,微服务必然是未来演进方向。加油~ 多了解吧。

Posted in Working Skills, 技术

Mac使用zsh后, mvn命令无效的解决方案

Mac使用zsh后, mvn命令无效的解决方案

问题:

这里使用了zsh + iterm2 的配置
1.我配置好maven后,也source ~/.bash_profile。此时,我mvn -v 使是生效的。

2.问题就来了,我new了个窗口出来。mvn -v无效了。

解决:

将以下针对mvn的配置,放到.zshrc 中

export M2_HOME="/opt/maven" export PATH="$PATH:$M2_HOME/bin"export MAVEN_OPTS="-Xmx512m"

重启终端就可以了。
后来某大神说
在l.zshrc里加上source .bash_profile