微服务架构说明

微服务架构说明.md

简介

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

《微服务架构说明》

WHY (为什么要这么做)

  • 使用传统的整体式架构(Monolithic Architecture)应用开发系统,如CRM、ERP等大型应用,随着新需求的不断增加,企业更新和修复大型整体式应用变得越来越困难;
  • 随着移动互联网的发展,企业被迫将其应用迁移至现代化UI界面架构以便能兼容移动设备,这要求企业能实现应用功能的快速上线;
  • 随着应用云化的日益普及,生于云端的应用具有与传统IT不同的技术基因和开发运维模式;

REQUIREMENT (需求)

  • 设计微服务架构
  • 实现微服务架构方案
  • 后续需求使用微服务架构实现

TODO (做了什么)

度分布式配置管理平台Distributed Configuration Management Platform部署

《微服务架构说明》

阿里云RPC远程服务调用方案 搭建

《微服务架构说明》

前后端分离

SpringBoot 实现微服务

EXAMPLE (案例)

权限管理系统

  • 统一登录平台登录之后,对当前session的管理,以及用户权限的访问
  • 当前用户信息注入

app发布平台

  • app 统一发布,统一管理
  • 各个渠道之间不同发包

文件上传

  • 文件上传统一处理,提供调用接口

HOWTO (如何去做)

Mysql 数据库安装配置

添加用户和用户组

groupadd mysql
useradd -g mysql mysql 
passwd mysql  #设置mysql用户密码

获取mysql

http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

权限处理

chmod 777  mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

解压文件

tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ./mysql-5.7.16

分配权限

chown mysql:mysql ./mysql-5.7.16

设置mysql配置文件

cp support-files/my-default.cnf ./my.cnf
vi my.cnf

配置文件内容

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#log=/home/mysql/mysql-5.7.12/log/mysqld_common.log
log-error=/home/mysql/mysql-5.7.16/log/mysqld_err.log
log-bin=/home/mysql/mysql-5.7.16/log/mysqld_bin.log
character-set-server=utf8
init_connect='SET NAMES utf8'
lower_case_table_names=1
max_allowed_packet = 1024M

basedir=/home/mysql/mysql-5.7.16
datadir=/home/mysql/mysql-5.7.16/data
port=3306
server_id =mysql.pid
socket =/home/mysql/mysql-5.7.16/mysql

执行安装命令

bin/mysqld --initialize --user=mysql\ --basedir=/home/mysql/mysql-5.7.16 --datadir=/home/mysql/mysql-5.7.16/data

运行结果如下,得到临时密码

《微服务架构说明》

启动mysql

bin/mysqld_safe --defaults-file=./my.cnf

连接mysql

bin/mysql -uroot -p -S /home/mysql/mysql-5.7.16/mysql.sock

然后输入生成的临时面

修改密码设置数据库

set password=password('root');  #修改密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #设置远程访问
FLUSH PRIVILEGES;  #刷新
create user pmpf identified by 'pmpf'; #新增用户
grant all privileges on recon.* to 'pmpf'@'%';#给pmpf分配recon库的所有权限

添加启动项

cp support-files/mysql.server /etc/init.d/mysql

然后编辑mysql文件,修改如下部分

basedir=/home/mysql/mysql-5.7.16
datadir=/home/mysql/mysql-5.7.16/data
conf=/home/mysql/mysql-5.7.16/my.cnf

redis 安装配置

获取redis

 wget http://download.redis.io/releases/redis-3.2.6.tar.gz

解压redis

tar -zxvf redis-3.2.6.tar.gz

编译

cd redis-3.2.6  #进入目录
make   #编译

设置redis

mkdir /usr/redis #创建redis操作目录
cp src/redis-server src/redis-cli /usr/redis/  #复制redis服务和命令
cp redis.conf /usr/redis/   #复制redis配置文件
cd /usr/redis
redis-server redis.conf   #启动redis

创建快捷键

vi ~/.bashrc
alias redis='/usr/redis/redis-cli'  #添加快捷键
source ~/.bashrc   #使生效

zookeeper 搭建

添加用户和用户组

sudo groupadd zookeeper  #添加用户组
sudo useradd zookeeper -g zookeeper  #添加用户

获取ZooKeeper文件

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

解压ZooKeeper

tar -zxvf zookeeper-3.4.9.tar.gz

创建ZooKeeper目录

mkdir -p /home/zookeeper/local/zookeeper/data #创建所需data目录
mkdir -p /home/zookeeper/local/zookeeper/log  #创建所需log目录

创建配置文件

cp -r conf/zoo_sample.cfg conf/zoo.cfg

修改配置文件内容如下

dataDir=/home/zookeeper/local/zookeeper/data
dataLogDir=/home/zookeeper/local/zookeeper/log

启动zookeeper服务

sh bin/zkServer.sh start  #启动zookeeper
sh bin/zkServer.sh status  #查看状态
sh bin/zkServer.sh stop   #停止服务 

检查端口是否监听

netstat -lpn | grep 2181

百度分布式配置管理平台搭建

disconf配置及查看

dubbo 搭建

dubbo配置及查看

    原文作者:jerry
    原文地址: https://segmentfault.com/a/1190000009049189
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞