gitee如何搭建mysql_MySQL高可用架构集群环境搭建手册.md

# MySQL高可用架构集群环境搭建手册

## 环境准备

### 机器规划

| 节点 | IP | 配置 | 角色 |

| -------- | -------------- | ---- | ---------------- |

| master-1 | 192.168.73.129 | 1c2g | master、HMA node |

| slave-1 | 192.168.73.130 | 1c1g | salve、HMA node |

| slave-2 | 192.168.73.131 | 1c1g | salve、HMA node |

| slave-3 | 192.168.73.132 | 1c1g | HMA manager |

### 安装包

mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

拷贝到master和salve节点的/opt/software/mysql/目录下并解压

```shell

tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

```

### 安装Mysql

在192.168.73.129、192.168.73.130、192.168.73.131分别按如下步骤命令安装Mysql。

1)卸载自带的mariadb

```shell

rpm -qa|grep mariadb

rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps

```

2)安装Mysql

```shell

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm

```

3)初始化mysql

```shell

mysqld --initialize --user=mysql

```

4)查看临时密码

```shell

[root@localhost mysql]# cat /var/log/mysqld.log

2020-07-27T11:35:17.156086Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2020-07-27T11:35:17.291065Z 0 [Warning] InnoDB: New log files created, LSN=45790

2020-07-27T11:35:17.321303Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2020-07-27T11:35:17.389391Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 3eb43224-cffd-11ea-b6e3-000c2998582e.

2020-07-27T11:35:17.390659Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2020-07-27T11:35:17.797306Z 0 [Warning] CA certificate ca.pem is self signed.

2020-07-27T11:35:17.916216Z 1 [Note] A temporary password is generated for root@localhost: =L=9m4yg29kA

```

5)启动mysql,并设置开机启动

```shell

[root@localhost mysql]# systemctl start mysqld.service

[root@localhost mysql]# systemctl status mysqld.service

● mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since 一 2020-07-27 19:37:41 CST; 5s ago

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

Process: 2328 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)

Process: 2311 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

Main PID: 2331 (mysqld)

CGroup: /system.slice/mysqld.service

└─2331 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

7月 27 19:37:41 localhost.localdomain systemd[1]: Starting MySQL Server...

7月 27 19:37:41 localhost.localdomain systemd[1]: Started MySQL Server.

```

6)登录mysql,修改密码

```shell

[root@localhost mysql]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.28

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=password('root');

Query OK, 0 rows affected, 1 warning (0.00 sec)

```

7)关闭防火墙

```shell

[root@localhost mysql]# systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: active (running) since 日 2020-07-26 23:36:30 CST; 20h ago

Docs: man:firewalld(1)

Main PID: 775 (firewalld)

CGroup: /system.slice/firewalld.service

└─775 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

7月 26 23:36:28 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...

7月 26 23:36:30 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

[root@localhost mysql]# systemctl stop firewalld

[root@localhost mysql]# systemctl disable firewalld.service

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@localhost mysql]# systemctl status iptables

Unit iptables.service could not be found.

```

没有iptables就不用禁用了。

## 主从配置

### Master-1配置

1)修改mysql配置文件,默认在/etc/my.cnf

在[mysqld]下添加如下配置

```ini

# 开启binlog并指定日志文件的文件名,主从复制必须开启

log_bin=mysql-master-bin

# 为master节点设置id,集群之间各个节点保持唯一

server-id=1

# 每次数据写入都同步到磁盘

sync-binlog=1

# 设置mysql自带的数据库不进行同步

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 指定哪些同步哪些数据库

# binlog-do-db=xxx

# 双主模式下开启relay_log,设置中继日志名称

relay_log=mysql-master-relay

# 当前master执行更新操作时,写入日志文件

log_slave_updates=1

```

2)重启mysql

```shell

systemctl restart mysqld

```

3)登录mysql进行授权

```shell

# 授权任意节点都可以进行数据复制

mysql> grant replication slave on *.* to 'root'@'%' identified by 'root';

Query OK, 0 rows affected, 1 warning (0.00 sec)

# 授权任意节点可以连接mysql

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';

Query OK, 0 rows affected, 1 warning (0.00 sec)

# 刷新权限

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

```

4)验证,查看主库状态

```shell

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-master-bin.000001 | 869 | | information_schema,performance_schema,sys | |

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

1 row in set (0.00 sec)

```

从库进行同步时,需要指定File、Position。

### Slave-1配置

1)修改配置文件

slave-1作为备选master,在[mysqld]下添加如下配置

```ini

# 设置slave-1的id

server-id=2

# 开启binlog并指定日志文件的文件名,主从复制必须开启

log_bin=mysql-master-bin

# 每次数据写入都同步到磁盘

sync-binlog=1

# 设置mysql自带的数据库不进行同步

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 设置中继日志的文件名

relay_log=mysql-slave-1-relay

# 当前master执行更新操作时,写入日志文件

log_slave_updates=1

# 设置当前节点为只读,即双主单写模式

read_only=1

```

2)重启mysql

```shell

systemctl restart mysqld

```

3)登录mysql,查看从库状态

```shell

mysql> show ma status;

Empty set (0.00 sec)

```

初始状态下`show slave status`会显示`Empty set`,如果能显示信息说明已经进行过主从配置。

4)对备选主进行初始化

```shell

mysql> change master to master_host='192.168.73.129',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-master-bin.000001',master_log_pos=869;

Query OK, 0 rows affected, 2 warnings (0.01 sec)

```

5)因为salve-1是备选主,需要授权master-1进行数据同步

```shell

grant replication slave on *.* to 'root'@'%' identified by 'root';

grant all privileges on *.* to 'root'@'%' identified by 'root';

flush privileges;

```

6)查看备选主状态

```shell

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-slave-1-bin.000001 | 589 | | information_schema,performance_schema,sys | |

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

```

然后将master1的主节点配置成备选主信息,**登录master1然后执行如下命令**:

```shell

change master to master_host='192.168.73.130',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-slave-1-bin.000001',master_log_pos=589;

```

### Slave-2配置

1)修改配置文件

```shell

# 设置slave-2的id

server-id=3

# 设置中继日志的文件名

relay_log=mysql-slave-2-relay

```

2)剩下步骤参照slave-1。

## 集群半同步配置

### master配置

1)查看是否支持插件动态加载

```shell

mysql> select @@have_dynamic_loading;

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

| @@have_dynamic_loading |

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

| YES |

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

1 row in set (0.00 sec)

```

> show plugins;可以显示mysql已加载的插件

2)安装semi插件

```shell

mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';

Query OK, 0 rows affected (0.03 sec)

```

rpl_semi_sync_master:插件名

soname:指定插件别名,参照mariadb命名

3)semi配置

```shell

mysql> show variables like '%semi%';

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

| Variable_name | Value |

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

| rpl_semi_sync_master_enabled | OFF |

| rpl_semi_sync_master_timeout | 10000 |

| rpl_semi_sync_master_trace_level | 32 |

| rpl_semi_sync_master_wait_for_slave_count | 1 |

| rpl_semi_sync_master_wait_no_slave | ON |

| rpl_semi_sync_master_wait_point | AFTER_SYNC |

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

6 rows in set (0.02 sec)

```

通过set命令修改以下配置:

```shell

# 开启semi

set global rpl_semi_sync_master_enabled=1;

# 设置超时时间为1s

set global rpl_semi_sync_master_timeout=1000;

```

### slave配置

1)安装semi

```shell

install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

```

2)semi配置

```shell

mysql> show variables like '%semi%';

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

| Variable_name | Value |

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

| rpl_semi_sync_slave_enabled | OFF |

| rpl_semi_sync_slave_trace_level | 32 |

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

2 rows in set (0.02 sec)

```

通过set命令修改以下配置:

```shell

set global rpl_semi_sync_slave_enabled=1;

```

3)重启slave

```shell

stop slave;

start slave;

```

## MHA配置

1)准备

mha-node安装包:mha4mysql-node-0.58-0.el7.centos.noarch.rpm

mha-manager安装包:mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

2)在192.168.73.129、192.168.73.130、192.168.73.131三台机器上安装mha-node

```shell

rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

```

3)在192.168.73.132上安装mha-manager和mha-node

```shell

rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

```

4)配置manager节点和node节点之间的ssh通信

```shell

# 在所有节点都执行以下命令

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.73.129

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.73.130

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.73.131

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.73.132

```

5)配置manager

分别创建以下目录:

```shell

mkdir /opt/software/mysql/hma

mkdir /opt/software/mysql/hma/app

mkdir /etc/mysql/mha

```

编写manager主配置文件

vi /etc/mysql/mha/app.cnf

```ini

[server default]

#mysql用户

user=root

#mysql密码

password=root

# manager工作目录

manager_workdir=/opt/software/mysql/hma/app

# manager日志文件存放位置

manager_log=/opt/software/mysql/hma/app/manager.log

# ssh通信用户名

ssh_user=root

# ?

repl_user=root

repl_password=root

# 心跳检测

ping_interval=1

[server1]

hostname=192.168.73.129

port=3306

candidate_master=1

[server2]

hostname=192.168.73.130

port=3306

candidate_master=1

[server3]

hostname=192.168.73.131

port=3306

no_master=1

```

6)运行manager

- 检查SSH配置

```shell

[root@localhost hma]# masterha_check_ssh --conf=/etc/mysql/hma/app.cnf

```

- 检查MHA当前配置

```shell

masterha_check_repl --conf=/etc/mysql/hma/app.cnf

```

- 启动mha

```shell

nohup masterha_manager --conf=/etc/mysql/hma/app.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /opt/software/mysql/hma/app/manager.log 2>&1 &

```

- 查看状态

```shell

masterha_check_status --conf=/etc/mysql/hma/app.cnf

```

- 查看日志

```shell

tail -f /opt/software/mysql/hma/app/manager.log

```

## 问题记录

1.安装mysql-server时失败

```shell

[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

警告:mysql-community-server-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY

错误:依赖检测失败:

/usr/bin/perl 被 mysql-community-server-5.7.28-1.el7.x86_64 需要

net-tools 被 mysql-community-server-5.7.28-1.el7.x86_64 需要

perl(Getopt::Long) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要

perl(strict) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要

```

解决:

```shell

yum -y install perl

yum -y install net-tools

```

2.安装mha-node失败

```shell

[root@localhost mysql]# rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

错误:依赖检测失败:

perl(DBD::mysql) 被 mha4mysql-node-0.58-0.el7.centos.noarch 需要

perl(DBI) 被 mha4mysql-node-0.58-0.el7.centos.noarch 需要

```

解决:

```shell

yum install perl-DBD-MySQL

```

3.安装mha-manager失败

```shell

[root@localhost mysql]# rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

错误:依赖检测失败:

mha4mysql-node >= 0.54 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Carp) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Config::Tiny) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(DBD::mysql) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(DBI) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Data::Dumper) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(English) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Errno) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(File::Basename) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(File::Copy) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Getopt::Long) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(IO::File) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Log::Dispatch) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Log::Dispatch::File) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Log::Dispatch::Screen) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(MHA::BinlogManager) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(MHA::NodeConst) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(MHA::NodeUtil) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(MHA::SlaveUtil) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(POSIX) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Parallel::ForkManager) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Pod::Usage) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Sys::Hostname) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(Time::HiRes) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(constant) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(strict) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

perl(warnings) 被 mha4mysql-manager-0.58-0.el7.centos.noarch 需要

```

解决:

```shell

yum -y install wget

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager

```

4.检测配置失败

```shell

[root@localhost hma]# masterha_check_ssh --conf=/etc/mysql/hma/app.cnf

# .....

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/Server.pm, ln180] Got MySQL error when connecting 192.168.73.130(192.168.73.130:3306) :1130:Host '192.168.73.132' is not allowed to connect to this MySQL server, but this is not a MySQL crash. Check MySQL server settings.

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] at /usr/share/perl5/vendor_perl/MHA/ServerManager.pm line 297.

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/Server.pm, ln180] Got MySQL error when connecting 192.168.73.131(192.168.73.131:3306) :1130:Host '192.168.73.132' is not allowed to connect to this MySQL server, but this is not a MySQL crash. Check MySQL server settings.

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] at /usr/share/perl5/vendor_perl/MHA/ServerManager.pm line 297.

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln309] Got fatal error, stopping operations

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. at /usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm line 329.

Mon Jul 27 21:52:38 2020 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.

Mon Jul 27 21:52:38 2020 - [info] Got exit code 1 (Not master dead).

```

修改slave-1和slave-2的权限

```shell

grant all privileges on *.* to 'root'@'%' identified by 'root';

flush privileges;

```

再次检测仍然报错:

```shell

Mon Jul 27 21:54:12 2020 - [info] Checking slave configurations..

Mon Jul 27 21:54:12 2020 - [info] read_only=1 is not set on slave 192.168.73.130(192.168.73.130:3306).

Mon Jul 27 21:54:12 2020 - [warning] relay_log_purge=0 is not set on slave 192.168.73.130(192.168.73.130:3306).

Mon Jul 27 21:54:12 2020 - [warning] log-bin is not set on slave 192.168.73.130(192.168.73.130:3306). This host cannot be a master.

Mon Jul 27 21:54:12 2020 - [info] read_only=1 is not set on slave 192.168.73.131(192.168.73.131:3306).

Mon Jul 27 21:54:12 2020 - [warning] relay_log_purge=0 is not set on slave 192.168.73.131(192.168.73.131:3306).

Mon Jul 27 21:54:12 2020 - [warning] log-bin is not set on slave 192.168.73.131(192.168.73.131:3306). This host cannot be a master.

Mon Jul 27 21:54:12 2020 - [info] Checking replication filtering settings..

Mon Jul 27 21:54:12 2020 - [info] binlog_do_db= , binlog_ignore_db= information_schema,performance_schema,sys

Mon Jul 27 21:54:12 2020 - [info] Replication filtering check ok.

Mon Jul 27 21:54:12 2020 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln364] None of slaves can be master. Check failover configuration file or log-bin settings in my.cnf

Mon Jul 27 21:54:12 2020 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. at /usr/bin/masterha_check_repl line 48.

Mon Jul 27 21:54:12 2020 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.

Mon Jul 27 21:54:12 2020 - [info] Got exit code 1 (Not master dead).

```

报错信息显示,当前环境时一台master和两台slave,没有备选的master,需要讲其中一个slave改造成备选master。参照课程Mysql集群双主实战进行修改。

一键复制

编辑

Web IDE

原始数据

按行查看

历史

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直击“上云”痛点的 MSP 新生意,万博智云发布云原生迁移工具 HyperMotion 3.0

作者 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于IC photo CSDN 在 4 月对德勤《2021 年技术趋势报告》的报道时&#xff0c;德勤分析师曾提到&#xff0c;在中国近 20 年的 IT 历程中&#xff0c;经历 ERP 和 toC 浪潮之后的中国企业&#xff0c;对云计算的认识却停留在降低…

我看技术人的成长路径

简介&#xff1a; 有一句诗词说&#xff1a;宠辱不惊&#xff0c;看庭前花开花落&#xff1b;去留无意&#xff0c;望天上云卷云舒。其实就是讲内心修炼到了一种心境平和&#xff0c;淡泊自然的境界。 作者 | 儒枭 为什么要成长 成长是为了在职场升值&#xff0c;提升职场竞争…

KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎

美国西部时间 2020 年 11 月 18 日&#xff0c;在云原生技术“最高盛宴”的 KubeCon 北美峰会 2020 上&#xff0c;CNCF 应用交付领域小组&#xff08;CNCF SIG App Delivery) 与 Open Application Model (OAM) 社区&#xff0c;以及来自阿里云、微软云的 OAM 项目维护者们在演…

ESL:我们如何使用首云混合云产品实现提效降本

背景ESL Play是世界上最大也是历史悠久的电子竞技独立联盟&#xff0c;成立于1997年。ESL Play负责组织和举办电子竞技赛事&#xff0c;并提供在线直播。在所有电子竞技平台中&#xff0c;收看时间长期位居行业第一。其举办赛事覆盖PS、PC、移动端等多个平台。ESL Asia是ESL Pl…

鹰角网络全球海量数据,一键轻松统一存储与处理

简介&#xff1a; 对于鹰角网络遇到的数据激增以及数据统一收治方面的问题&#xff0c;阿里云对象存储 OSS 为其提供了统一的数据存储 池&#xff0c;方便鹰角网络将全球收集到的海量不同数据进行统一存储&#xff0c;同时阿里云对象存储 OSS 可无缝对接 云原生数据湖 分析 DLA…

直击“上云”痛点的 MSP 新生意

作者 | 宋 慧出品 | CSDN 云计算头图 | 付费下载于 IC photoCSDN 在 4 月对德勤《2021 年技术趋势报告》的报道时&#xff0c;德勤分析师曾提到&#xff0c;在中国近 20 年的 IT 历程中&#xff0c;经历 ERP 和 toC 浪潮之后的中国企业&#xff0c;对云计算的认识却停留在降低 …

申通完美支撑“双11”——亿级包裹背后的云基础设施

简介&#xff1a; 亿级包裹洪峰过境&#xff0c;千万级订单毫秒级响应&#xff0c;系统稳如泰山。今年双11&#xff0c;申通的系统前所未有的流畅与平稳。 今年双11&#xff0c;申通的系统前所未有的流畅与平稳 “双11全站跑在阿里云上&#xff0c;亿级包裹洪峰过境&#xff0…

java map是大括号_Java8如何基于flatMap处理异常函数

Java8的flatMap函数&#xff0c;作用是&#xff1a;如果有值&#xff0c;为其执行mapping函数返回Optional类型返回值&#xff0c;否则返回空Optional。见到的映射函数往往都只有一句话&#xff0c;连大括号都不需要加的&#xff0c;如下&#xff1a;String personValue Optio…

AI 赛道“新选手”锐捷发布新一代 AI SaaS 云平台,支撑百万级零售货柜

编辑 | 宋慧 出品 | CSDN 云计算 头图 | 付费下载于 IC photo 近几年&#xff0c;传统零售模式经历了几轮深层次变革&#xff0c;2016 年是新零售的元年&#xff0c;2017 年无人零售在国内又刮起了一阵大风&#xff0c;从传统零售到新零售再到无人零售等概念的革新&#xff0c…

2019 年 CNCF 中国云原生调查报告

简介&#xff1a; 在 CNCF&#xff0c;为更好地了解开源和云原生技术的使用&#xff0c;我们定期调查社区。这是第三次中国云原生调查&#xff0c;以中文进行&#xff0c;以便更深入地了解中国云原生技术采用的步伐及如何在庞大且不断发展的社区中赋能开发者并作出变革。本报告…

mysql中的正向工程_Hibernate系列之正向工程

作用&#xff1a;可以依据hibernate正向工程生成库表结构spring-hibernate.xml文件中1 2 3 4 5 6 ${hibernate.hbm2ddl.auto}7 ${hibernate.dialect}8 ${hibernate.show_sql}9 ${hibernate.format_sql}10 11 hibernate的配置参数hibernate.hbm2ddl.autonone1、create如果设置为…

快手基于 Apache Flink 的优化实践

本次由快手刘建刚老师分享&#xff0c;内容主要分为三部分。首先介绍流式计算的基本概念&#xff0c; 然后介绍 Flink 的关键技术&#xff0c;最后讲讲 Flink 在快手生产实践中的一些应用&#xff0c;包括实时指标计算和快速 failover。 一、流式计算的介绍 流式计算主要针对 u…

探索交通治理新思路,广州黄埔智能交通治“堵”

路口车辆平均延误下降20%、主干道平均行程时间下降25%、有轨电车每趟行程时间节省约28%……随着政府科学管理与人工智能技术的结合&#xff0c;广州黄埔越来越多交通路口正在逐渐AI化&#xff0c;市民出行效率得以大幅提升。在共建共治共享理念指导下&#xff0c;广州黄埔正在拓…

Flink 双流 Join 的3种操作示例

在数据库中的静态表上做 OLAP 分析时&#xff0c;两表 join 是非常常见的操作。同理&#xff0c;在流式处理作业中&#xff0c;有时也需要在两条流上做 join 以获得更丰富的信息。Flink DataStream API 为用户提供了3个算子来实现双流 join&#xff0c;分别是&#xff1a; join…

java逻辑量_java – 增量逻辑

报价Java Language Specification, 15.7 Evaluation Order&#xff1a;The Java programming language guarantees that the operands of operators appear to be evaluated in a specific evaluation order, namely, from left to right.The left-hand operand of a binary op…

云原生趋势下的迁移与容灾思考

作者 | 孙琦 导读&#xff1a;下一个云原生颠覆的领域会不会是在传统的容灾领域呢&#xff1f;在云原生的趋势下&#xff0c;如何构建应用系统的迁移与容灾方案&#xff1f; 趋势 1. 云原生发展趋势 云原生&#xff08;Cloud Native&#xff09;是最近几年非常火爆的话题&…

深度盘点Python11个主流框架:Pandas、Django、Matplotlib、Numpy、PyTorch......

六月份TIOBE编程语言排行榜&#xff0c;位居第二名的Python与第一名C语言之间的差距正在逐渐缩小。Python如此受欢迎一方面得益于它崇尚简洁的编程哲学&#xff0c;另一方面是因为强大的第三方库生态。要说杀手级的库&#xff0c;很难排出个先后顺序&#xff0c;因为python的明…

从基础设施到云原生应用,全方位解读阿里云原生新锐开源项目

2020 年 11 月 19 日&#xff0c;由 InfoQ 主办的“2020 中国技术力量年度榜单盛典”隆重召开&#xff0c;并正式揭晓了“开源杰出贡献人物”、“开源新锐项目”和“云原生行业落地典范”等重大奖项。在此前的入围赛中&#xff0c;仅“开源新锐项目”单项&#xff0c;阿里云原生…

java记录代码执行位置_记录执行的java代码的行号

PHP interperts的代码,这意味着它每次运行程序时运行源代码.随着代码的读取(这使得行号打印输出变得微不足道),这样做的好处就在于它.然而,由于您无法进行深入优化(或进行任何运行前错误检查),因此其它方式通常都是昂贵的.Java compiles its code into a JVM assembly language…

揭秘双11丝滑般剁手之路背后的网络监控技术

简介&#xff1a; 本篇将重点介绍Hologres在阿里巴巴网络监控部门成功替换Druid的最佳实践&#xff0c;并助力双11实时网络监控大盘毫秒级响应。 概要&#xff1a;刚刚结束的2020天猫双11中&#xff0c;MaxCompute交互式分析&#xff08;下称Hologres&#xff09;实时计算Flin…