LNMP应用于中小型企业架构

LNMP应用于中小型企业架构

  • 网站架构图

说明:

  1. 1.     两台web服务器放置在公司外网网段(192.168.232.0/24),两台web服务器通过Keepalived实现主备切换,保障web服务高可靠性。
  2. 2.     web服务器之间通过rsync+inotify来实现网站目录数据同步,保证主备切换以后的数据一致性。
  3. 3.     两台mysql服务器放置在公司内网网段(10.0.0.0/24),采用mysql的主从同步架构来保障后台数据库的高可靠性;通过mysql-proxy实现读写分离。
  4. 4.     通过rsync+inotify来实现mysql的本地备份。
  5. 5.     通过zabbix来监控两台web服务器和两台mysql服务器。
  • 安装步骤

操作系统环境:5台服务器全部用户用centos6.7版本,内核版本2.6.32-573.el6.x86_64

(1)  安装Keepalived

a)  web1配置

安装依赖:

# yum installgcc gcc-c++ autoconf automake -y

# yum installzlib zlib-devel openssl openssl-devel -y

# tar xvf  keepalived-1.2.20.tar.gz -C /usr/local/src ;cd /usr/local/src/keepalived-1.2.20

# ./configure--prefix=/usr/local/keepalived

#make &&make install

#ln -s/usr/local/keepalived/sbin/keepalived /sbin/

# ln -s/usr/local/keepalived/bin/genhash /bin/

# ln -s /usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/keepalived

# mkdir /etc/keepalived/

# cp/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

# cp/usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/

# servicekeepalived start

# chkconfigkeepalived on

Master配置

#vim /etc/keepalived/keepalived.conf

vrrp_sync_groupVG1 {                   #vrrp同步组定义

group {

VI_1                                    #vrrp实例 VI_1

VI_2

}

}

vrrp_instanceVI_1 {                    #vrrp实例定义

stateMASTER                            #实例初始化状态,还可以是master!

nopreempt                               #不抢占,用于state 状态中,而且优先级要高于第二个backup

interface eth1                          #实例绑定的网卡

#track_interface{                       #设定额外监控的网卡,以下任意网卡故障,状态fault

#eth0

#eth1

#}

virtual_router_id51                    #虚拟路由id(0-255)

priority100                            #优先级,高优先级的将竞选为MASTER

advert_int 1                            #检查间隔,默认1s

authentication {

auth_typePASS                          #认证方式,pass

auth_passVI_1                          #认证密码

}

virtual_ipaddress{                     #虚拟ip地址(vip 可以为多个)

192.168.232.110/24dev eth1 scope global     #虚拟ip地址 绑定在 eth0 网卡

}

}

vrrp_instanceVI_2 {

state MASTER

nopreempt

interface eth0

#track_interface{

#eth0

#eth1

#}

virtual_router_id52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass VI_2

}

virtual_ipaddress{

10.0.0.110/24dev eth0 scope global

}

}

b)  web2配置

keepalived安装方式同web1

#vim /etc/keepalived/keepalived.conf

Backup配置

vrrp_sync_groupVG1 {

group {

VI_1

VI_2

}

}

vrrp_instanceVI_1 {                    #vrrp实例定义

stateBACKUP                            #实例初始化状态,还可以是master!

#nopreempt       #不抢占,用于state 状态中,而且优先级要高于第二个backup

interfaceeth1                          #实例绑定的网卡

#track_interface{       #设定额外监控的网卡,以下任意网卡故障,状态fault

#eth0

#eth1

#}

virtual_router_id51                    #虚拟路由id(0-255)

priority100                            #优先级,高优先级的将竞选为MASTER

advert_int1                            #检查间隔,默认1s

authentication {

auth_typePASS                          #认证方式,pass

auth_passVI_1                          #认证密码

}

virtual_ipaddress{                     #虚拟ip地址(vip 可以为多个)

192.168.232.110/24dev eth1 scope global     #虚拟ip地址 绑定在 eth0 网卡

}

}

vrrp_instanceVI_2 {

state BACKUP

#nopreempt

interface eth0

#track_interface{

#eth0

#eth1

#}

virtual_router_id52

priority 50

advert_int 1

authentication {

auth_type PASS

auth_pass VI_2

}

virtual_ipaddress{

10.0.0.110/24dev eth0 scope global

}

}

(2)在webserver上安装nginx

  1. 解决pcre依赖

# tar xvfpcre-8.37.tar.bz2 -C /usr/local/src/

  1. 编译安装nginx

#tar xvf nginx-1.9.4.tar.gz -C /usr/local/src/ ; cd/usr/local/src/nginx-1.9.4

#./configure --prefix=/usr/local/nginx --with-http_dav_module--with-http_stub_status_module --with-http_addition_module--with-http_sub_module --with-http_flv_module --with-http_mp4_module--with-pcre=/usr/local/src/pcre-8.37

# make ; make install ; cd

# useradd -M -u 8001 -s /sbin/nologin nginx

# vim /usr/local/nginx/conf/nginx.conf

user  nginx nginx;

location / {

root   html;

index  index.php index.htmlindex.htm;

}

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

include        fastcgi_params;

}

#/usr/local/nginx/sbin/nginx

#echo "/usr/local/nginx/sbin/nginx " >>/etc/rc.local

(3)在webserver上安装php

# tar xvf libmcrypt-2.5.8.tar.bz2 -C /usr/local/src/ ; cd/usr/local/src/libmcrypt-2.5.8/

# ./configure --prefix=/usr/local/libmcrypt ; make ; makeinstall ; cd

# vim /etc/ld.so.conf

includeld.so.conf.d/*.conf

/usr/local/libmcrypt/lib

# yum install php-pear

# ldconfig

# echo ‘ldconfig‘ >> /etc/rc.local

# yum install -ylibxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype freetype-devel

# tar xvfphp-5.6.13.tar.bz2 -C /usr/local/src/ ; cd /usr/local/src/php-5.6.13

#./configure --prefix=/usr/local/php \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-mcrypt=/usr/local/libmcrypt \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap

# make -j 4 ; make install ; cd

#cp /usr/local/src/php-5.6.13/php.ini-production/usr/local/php/php.ini

# cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf

# cp /usr/local/src/php-5.6.13/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm

#chmod +x /etc/init.d/php-fpm

# chkconfigphp-fpm on

#/etc/init.d/php-fpm start

(4)在dataserver上安装mysql

#!/bin/bash

yum remove -y mysql mysql-server

clear

yum install gcc gcc-c++ autoconf automake -y

echo‘This shell willAuto Install Mysql5.6‘

yum install -y cmake ncurses-devel

tar-zxf mysql-5.6.26.tar.gz -C /usr/local/src &&cd/usr/local/src/mysql-5.6.26

useradd -M -s /sbin/nologinmysql

mkdir/usr/local/mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql

make&&makeinstall

chown -R mysql:mysql /usr/local/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

mv/etc/my.cnf/etc/my.cnf.bak

cp/usr/local/mysql/support-files/my-default.cnf/etc/my.cnf

sed-i ‘/^\[mysqld\]/adatadir = /usr/local/mysql/data‘/etc/my.cnf

sed-i ‘/^\[mysqld\]/abasedir = /usr/local/mysql‘/etc/my.cnf

cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqlsev

chmod+x /etc/init.d/mysqlsev

echo"PATH=/usr/local/mysql/bin:$PATH">>/etc/profile

chkconfig mysqlsev on

echo

echo"installsuccess"

source /etc/profile

echo"source/etc/profile">>/etc/rc.local

service mysqlsev restart

echo "If you now running mysql andothers commands,Please running: source /etc/profile"

#mysql_secure_installation                      #给数据库安全加固

# mysql -u root-p                                          #登录数据库

a)  mysql1配置

建立php连接数据库的帐号

mysql> createuser ‘1511‘@‘10.0.0.120‘ identified by ‘123456‘

mysql> GRANTALL ON db_1511.* TO ‘1511‘@‘10.0.0.120‘;

mysql> flush privileges;

主从配置(主):

# vim/etc/my.cnf

[mysqld]

basedir =/usr/local/mysql

datadir=/usr/local/mysql/data

user=mysql

# Disablingsymbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#

#####replication

server-id=1

log-bin=mysqlmaster-bin-log

binlog-do-db=db_1511

binlog-ignore-db=mysql

# servicemysqlsev start

# mysql -uroot-p

mysql> GRANTREPLICATION SLAVE ON *.* TO ‘mm‘@‘10.0.0.30‘ IDENTIFIED BY ‘123456‘;

mysql> flushtables with read lock;

mysql> showmaster status;            # 记录下file名和position值

+------------------------+----------+--------------+------------------+-------------------+

| File         | Position | Binlog_Do_DB |Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------------+----------+--------------+------------------+-------------------+

|mysqlmaster-bin.000004 |      327 |              |                  |                  |

+------------------------+----------+--------------+------------------+-------------------+

1 row in set(0.00 sec)

# mysqldump-uroot -p -h127.0.0.1 -P3306 --all-databases --triggers --routines --events>>/root/all.sql

# mysql -uroot-p

mysql> unlocktables;

# scp /root/[email protected]:/root/

b)  mysql2配置

建立php连接数据库的帐号

mysql> createuser ‘1511‘@‘10.0.0.130‘ identified by ‘123456‘

mysql> GRANTALL ON db_1511.* TO ‘1511‘@‘10.0.0.130‘;

mysql> flush privileges;

主从配置(从):

# vim/etc/my.cnf

[mysqld]

basedir =/usr/local/mysql

datadir=/usr/local/mysql/data

user=mysql

# Disablingsymbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#

#####replication

server-id=2

log-bin=mysqlslave-bin-log

binlog-do-db=db_1511

binlog-ignore-db=mysql

# servicemysqlsev start

# mysql -uroot-p -h127.0.0.1 -P3306 < /root /all.sql

# mysql -uroot-p

mysql> changemaster to master_host = ‘10.0.0.20‘,master_user=‘mm‘,master_password=‘123456‘,master_log_file=‘mysqlmaster-bin.000004‘,master_log_pos=327;

mysql> startslave;

mysql> showslave status \G

......

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

......

c)  mysql-proxy配置

# tar xvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

# mv mysql-proxy-0.8.5-linux-el6-x86-64bit/usr/local/mysql-proxy

# echo"PATH=$PATH:/usr/local/mysql-proxy/bin" >> /etc/bashrc

#echo "mysql-proxy -r 10.0.0.30:3306 -b 10.0.0.20:3306 -P 10.0.0.10:3306 -s/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua & ">> /etc/rc.local

# mysql-proxy -r10.0.0.30:3306 -b 10.0.0.20:3306 -P 10.0.0.10:3306 -s/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua &

(5)  分别在web1和web2服务器上安装应用

(6)  在webserver上安装rsync+inotify

a)   在web1和web2安装xinetd

# yum installxinetd -y

# vim/etc/xinetd.d/rsync

service rsync

{

disable = no

flags           = IPv6

socket_type     = stream

wait            = no

user            = root

server          = /usr/bin/rsync

server_args     = --daemon

log_on_failure  += USERID

}

# [[email protected] ~]#service xinetd restart

Stoppingxinetd:                                           [FAILED]

Startingxinetd:                                          [  OK  ]

#[[email protected] ~]#netstat -antup | grep xinet

tcp        0     0 :::873                     :::*                        LISTEN      2459/xinetd

b)   在web1和web2上编辑以下两个配置文件

# vim /etc/rsyncd.conf

uid = nginx

gid = nginx

use chroot = yes

max connections =200

timeout = 600

pid file =/var/run/rsyncd.pid

lock file =/var/run/rsyncd.lock

log file =/var/log/rsyncd.log

[backup]

path =/usr/local/nginx/html/

ignore errors

read only = no

list = no

hosts allow =192.168.232.0/255.255.255.0

auth users = test

secrets file =/etc/rsyncd.password

#chownnginx:nginx /usr/local/nginx/html/ -R

#vim /etc/rsyncd.password

test:test        #user:password

#chmod 600 /etc/rsyncd.password

文件编辑好以后重启服务

# service xinetdrestart

c)   在web1和web2上安装inotify

优化系统内核:

# vim/etc/sysctl.conf

fs.inotify.max_queued_events= 32768

fs.inotify.max_user_instances= 1024

fs.inotify.max_user_watches= 90000000

# sysctl -p

#tar -zxvf inotify-tools-3.13.tar.gz

# cdinotify-tools-3.13

#./configure

#make -j 4

# make install

d)   生成开机启动脚本

在web1上生成脚本:

#vim nginx_rsync.sh

#!/bin/sh

exportRSYNC_PASSWORD=test

SRC=/usr/local/nginx/html/

[email protected]::backup

inotifywait -mrq-e modify,delete,create,attrib ${SRC} | while read D E F

do

/usr/bin/rsync -ahqzt --delete $SRC$DST

done

#echo"/root/nginx_rsync.sh &" >>/etc/rc.local

在web2上生成脚本

#vim nginx_rsync.sh

#!/bin/sh

exportRSYNC_PASSWORD=test

[email protected]::backup

DST=/usr/local/nginx/html/

inotifywait -mrq-e modify,delete,create,attrib ${DST} | while read D E F

do

/usr/bin/rsync -ahqzt --delete $SRC$DST

done

#echo"/root/nginx_rsync.sh &" >>/etc/rc.local

(7)  安装zabbix

a)   编译lnmp环境

注意编译PHP时需要加上--with-gettext模块

b)   编译安装zabbix server端

# tar xvf zabbix-3.0.1.tar.gz -C/usr/local/src/

# cd/usr/local/src/zabbix-3.0.1/

# mysql -uzabbix-pzabbix zabbix < database/mysql/schema.sql

# echo $?

# mysql -uzabbix-pzabbix zabbix < database/mysql/images.sql

# mysql -uzabbix-pzabbix zabbix < database/mysql/data.sql

# yum install -ynet-snmp-devel

# ./configure--prefix=/usr/local/zabbix --enable-server --enable-agent--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp

--with-libcurl

# echo $?

# make install

# echo $?

# cd/usr/local/zabbix/

# vimetc/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

# vim/usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1

# vim /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/libmcrypt/lib

/usr/local/mysql/lib/

# ldconfig

#/usr/local/zabbix/sbin/zabbix_server

# echo"/usr/local/zabbix/sbin/zabbix_server" >> /etc/rc.local

# cp -r/usr/local/src/zabbix-3.0.1/frontends/php/* /usr/local/nginx/html/

# vim /usr/local/php/lib/php.ini                 # 修改安装前端所需参数

c)   汉化zabbix server

vim  /usr/local/nginx/html/include/locales.inc.php

‘zh_CN‘ => [‘name‘ => _(‘Chinese(zh_CN)‘),     ‘display‘ => true],

vim /usr/local/nginx/html/include/defines.inc.php

define(‘ZBX_GRAPH_FONT_NAME‘,           ‘ msyh‘); // font file name

define(‘ZBX_FONT_NAME‘, ‘ msyh‘);

将windows系统中的C:\Windows\Fonts\微软雅黑\msyh.ttf 文件放到zabbixserver的/usr/local/nginx/html/fonts/目录下

再去zabbix web管理页面修改语言为中文即可

d)   在被监控的server上安装zabbix agent

# yum install -y curl curl-devel net-snmpnet-snmp-devel perl-DBI

# useradd -u 9001 -M -s /sbin/nologin  zabbix

# tar xvf zabbix-3.0.1.tar.gz -C/usr/local/src/

# cd /usr/local/src/zabbix-3.0.1/

# ./configure --prefix=/usr/local/zabbix--enable-agent

# make install ; cd

# grep "zabbix" /etc/services --color

# grep "chkconfig"/usr/local/src/zabbix-3.0.1/ -R --color

# cp/usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix               #修改此行

# chkconfig zabbix_agentd on

vim/usr/local/zabbix/etc/zabbix_agentd.conf

Server=192.168.232.220

ServerActive=192.168.232.220

Hostname=web1.1511.com

UnsafeUserParameters=1

# /etc/init.d/zabbix_agentd restart

在zabbix server上执行

[[email protected] ~]#  /usr/local/zabbix/bin/zabbix_get -s192.168.232.120 -p10050 -k system.uname

Linux web1.1511.com 2.6.32-573.el6.x86_64#1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64

至此zabbix_agentd  和zabbixserver通讯正常

e)   监控nginx

修改nginx 配置文件,在server 下面增加以下代码

location /ngx_status {

stub_status on;

access_log off;

#allow 127.0.0.1;

#deny all;

}

重启nginx进程。

配置zabbix_agentd

# vim/usr/local/zabbix/etc/zabbix_agentd.conf

增加以下行

UserParameter=nginx.status[*],/usr/local/zabbix/scripts/ngx-status.sh$1

编写监控nginx脚本

vim /usr/local/zabbix/scripts/ngx-status.sh

#!/bin/bash

# DateTime: 2015-10-25

# AUTHOR:凉白开

# WEBSITE: http://www.ttlsa.com

# Description:zabbix监控nginx性能以及进程状态

# Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果

# 文章地址:<spanid="sample-permalink"tabindex="-1">http://www.ttlsa.com/zabbix/<spanid="editable-post-name" title="临时固定链接,点击可更改这部分。">zabbix-monitor-nginx-performance</span>/</span>

HOST="127.0.0.1"

PORT="80"

# 检测nginx进程是否存在

function ping {

/sbin/pidof nginx | wc -l

}

# 检测nginx性能

function active {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|grep ‘Active‘ | awk ‘{print $NF}‘

}

function reading {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|grep ‘Reading‘ | awk ‘{print $2}‘

}

function writing {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|grep ‘Writing‘ | awk ‘{print $4}‘

}

function waiting {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|grep ‘Waiting‘ | awk ‘{print $6}‘

}

function accepts {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|awk NR==3 | awk ‘{print $1}‘

}

function handled {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|awk NR==3 | awk ‘{print $2}‘

}

function requests {

/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null|awk NR==3 | awk ‘{print $3}‘

}

# 执行function

$1

给脚本增加执行权限

# chmod +x/usr/local/zabbix/scripts/ngx-status.sh

重启zabbix_agentd服务

# /etc/init.d/zabbix_agentd restart

去zabbix服务器web管理界面添加模版,为nginx服务器增加此模版

在测试机器上用webbench工具给nginx服务器发送流量

# webbench -c 2000 -t 300http://192.168.232.120/

时间: 2024-10-03 09:05:49

LNMP应用于中小型企业架构的相关文章

SSA-一种适合中小型企业的新型服务架构

写在前面 好久好久没写了,最近刚换了工作,花了几天的时候熟悉了项目,接着就是功能的完善,随后就是对新项目的基础架构搭建. 看过Po主博客的都知道,Po主一直致力于推广.Net Core在微服务架构上的实践,包括从去年年底开始也正在写一本关于此类的书(目前还在写的阶段,不便公布).换新东家的目的也是如此,公司是个集团公司,但楼主负责的项目还不是很大,So,微服务架构可能现阶段还无法实现. 但Po主一心向往微服务架构,所以我在搭建基础架构的时候,想到了一种过度架构方式,也不知道如何称呼,随心所欲称之

中小型企业成为空客直升机公司通往创新的又一新途径

空客直升机公司官方宣布启动新的开放式创新平台项目.此项目将给那些寻求进入新市场的创新型中小企业带来机遇,它们将用自己的创新策略支持空客直升机公司的发展. 自2012年以来,作为未来直升机计划的一部分,此项目以对专业知识需求的评估为重点.除了达到某些既定的计划之外,此项目还催生了足以成为空客直升机公司通往创新的令人信服的又一途径. 开放式创新平台作为支撑直升机工业新技术的平台,为创新型中小企业提供了展示其服务的机会.其对新技术选择的标准主要包括以下几点: 1) 足够高的技术成熟度: 2) 快速获得

信息技术开拓视野——记IT战略规划与企业架构培训课程

信息技术战略规划(Information Technology Strategic Planning,ITSP )指的是在信息时代知识经济的背景下,正确的结合IT规划,整合企业的核心竞争力,在新一轮的产生.发展中取得更大的市场竞争力的规划方法. 5月24日,IT战略规划与企业架构培训课程开课.这门课是一个高级课程,重点是应用逆向思维,关注问题.对策与解决方案,并且通过案例分析来理清思路,形成正确的思想方法.课程不可能照搬照套,而是希望学员关注课程所展示的思想,并且根据组织所处领域的不同,通过总结

Java企业架构--大兴互联网企业分布式平台

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目.      平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.FastDFS分布式文件系统.ActiveMQ异步消息中间件.Nginx负载均衡等分布式技术 使用Maven做项目管理,项目模块化,提高项目的易开发性.扩展性 以Spring Fr

数字化企业架构演变

-------------------------------------------------------------------------------------------------------------------------------------------- 今天先到这儿,希望对您在企业架构,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 数字化IT人才与组织互联网电商购物车架构演变案例互联网业务场景下消息队列架构消息系

企业架构,业务架构,数据架构

我们将核心价值链上的端到端总结为两个核心,其一是供应链的端到端流程和业务:其二是产品研发的端到端和业务.各个企业由于类型不同往往对两条价值链各有 侧重.生产代工类企业没有自己的产品研发,那么只有供应链:高科技研发企业可以做到卖产品核心技术和专利,不做具体供应链方面事情.而更多的生产制造型企 业往往是1和2两者的一个有机结合. 再谈企业架构和业务架构: 企业架构本身强调的是业务驱动IT,业务和IT的匹配和融合而不是两张皮,在这里可以看到核心我们关注的点包括流程,活动,数据,组织,资源五个方面的内容

UML建模实践——选“对”企业架构建模视角很关键

1.关于企业架构 根据开放群组的业务领导层IT架构指引:"有效的企业架构(Enterprise Architecture,EA)对企业的生存和成功具有决定性的作用,是企业通过IT获得竞争优势的不可缺少的手段." 企业架构如同战略规划,可以辅助企业完成业务及IT战略规划.在业务战略方面,可使用TOGAF及其架构开发方法(Architecture Development Method,ADM)来定义企业的愿景/使命.目标/目的/驱动力.组织架构.职能和角色.在IT战略方面,TOGAF及AD

中小型企业商业智能平台的开发和实现

中小型企业商业智能平台的开发和实现(数据仓库.BI系统.真实项目实战)http://www.ibeifeng.com/goods-472.html咨询QQ2110053820课程讲师:鸿鹄 课程分类:数据和数据仓库适合人群:初级课时数量:76课时更新程度:完成用到技术:数据仓库.BI系统.真实项目实战涉及项目:中小型企业商业智能平台 本课程以公共卫生领域高血压的管理为实际应用场景,为高血压管理系统建立数据仓库,进行数据分析.本课程一共分为四个章节,76讲.第一章主要介绍了商业智能系统的发展,从商

精华【分布式微服务云架构dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!

摘要: 开发工具 1.Eclipse IDE:采用Maven项目管理,模块化. 2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表.一对多.树结构.生成后的代码如果不需要注意美观程度,生成后即可用. 技术选型(只列了一部分技术) 1.后端 服务框架:Dubbo.zookeeper.Rest服务 缓存:Redis.ehcache 消息中间件:ActiveMQ 负载均衡:Nginx 分布式文件:FastDFS 框架简介--主要定位于互联网企业架构,已内置企业