讲微服务数据一致性的文章,网上比较多。此前 EAWorld 与发过几篇,包括《微服务架构下的数据一致性保证(一)》、《微服务架构下的数据一致性保证(二)》、《微服务架构下的数据一致性保证(三):补偿模式》,以及《使用消息系统进行微服务间通讯时,如何保证数据一致性》。本篇文章在我看来,是从一个纵向的维度把相关的一致性概念的演进过程,讲的比较清晰,简单的逻辑是这样的:

1、分布式带来一致性挑战;

2、2PC 效率太低,选择 SAGA 保证最终一致;

3、SAGA 的补偿环节可能失败,需要进行对账;

4、对账需要日志,需要记录日志;

5、用更改优先的方式记日志,更适合跨域操作,域内推荐事件优先;

6、用事件优先的方式记日志,即属于 CQRS 的一种模式;

7、CQRS 或者事件优先,也有并发和乱序的挑战,很难实现;

8、退而求其次,可以采用“设计一致性”;

9、实在无法一致,那就接受不一致。

时间:2022-01-11 | 分类:技术文摘 | 标签: 微服务 

本文讲解aarch64的centos7下mysql5.7的安装。对于mysql8,有官方的rpm安装(https://centos.pkgs.org/7/mysql-8.0-aarch64/)

 

1.wget下载5.7.27版本的MySQL。

wget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz

 

2.解压下载的包到 local目录下。

tar xvf mysql-5.7.27-aarch64.tar.gz -C /user/local

 

3.为了方便寻找和编辑,建议重命名刚刚解压的文件夹。

mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

 

4.创建mysql组和用户,把mysql用户加入到mysql组。

groupadd mysql && useradd -r -g mysql mysql

 

5.更改组合用户的权限

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

时间:2021-12-24 | 分类:技术文摘 | 标签: aarch64  mysql  Centos  arm 

1.打开/etc/gitlab/gitlab.rb,找到external_url变量,输入你要部署的gitlab外部访问地址

2.搜索nginx,禁用内部nginx。

################################################################################

## GitLab NGINX

##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html

################################################################################

 

 nginx['enable'] = true

 

时间:2021-04-27 | 分类:技术文摘 | 标签: HTTPS  gitlab  nginx 

环境

  • macOS 10.14.6 (18G87)
  • MySQL 8.0.16
  • Navicat

错误信息

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

原因

  • 不是客户端Navicat的原因,是MySQL兼容问题,需要修改数据库的认证方式
  • MySQL8.0版本默认的认证方式是caching_sha2_password
  • MySQL5.7版本则为mysql_native_password。
时间:2020-12-31 | 分类:技术文摘 | 标签: mysql 

        

        一直以来,树莓派都只能使用SD卡来运行自己的操作系统。在树莓派4之后,这一状态被改变了。目前最新的系统已经支持从USB或者网络方式来启动系统。这样一来,运行速度和数据稳定性都有了很大的提高。

        1.来一块8G RAM的树莓派4B板子,装好官方系统。启动树莓派系统后执行以下3个命令操作

sudo apt update
sudo apt full-upgrade
sudo rpi-update
时间:2020-12-31 | 分类:技术文摘 | 标签: 树莓派  私有云  SSD 

为什么弄明白监测很重要?

懂账户操作的人很多,会做创意的很少,能一个人搞定监测的所有流程的人少之又少。当你独立负责一款游戏买量的时候,你首先面临的问题是怎么能得到准确的数据。数据,是决策的基础依据,准确的数据会让你做的决策更加安心。

安卓监测和IOS的监测基本原理相同,这篇文章我们先聊安卓。由于市面上"头条"的买量后台是我认为最成熟的,所以以下举例就选它了。

时间:2020-06-21 | 分类:工作生活 | 标签: 买量  手游 
是的,确实太长时间没发文章了,如今带着新系统跟大家问好。这些年来,自己的技术栈从单纯的PHP到Java、Python,再到现在的Go。知识面也在不断扩宽。其实当初学习Go并不是为了做Web开发,其实更多是为了所谓的“云”。为了不让自己出现学过就忘的情况,就找点事情实践。至于这个无心插柳的项目,后面到底会如何?管他呢还是一贯风格,自己的产品项目在没觉得能公开见人时,都暂时不开源。或许有大家的支持,自己会去投入更多精力呢~偷了一下懒,数据库还是直接沿用老博客的,只是用Go写了crud。期待自己后期能
时间:2020-05-21 | 分类:工作生活 | 标签: Go  beego  bootstrap  梁龙的博客 
使用Mac的同学都知道Mac默认不能在NTFS格式的磁盘中写入内容。下面介绍一个简单的方法,简单几行命令解决所有问题。大概的思路就是:Mac自动挂载的时候没有开放写权限,我们自己手动挂载一遍,把写权限加上。仅此而已!!!第一步:查看磁盘设备文件名这一步需要看一下,目标磁盘叫什么名字diskutil list可以看到我移动硬盘被挂载了disk2的位置上,其中Windows那个磁盘设备文件名为disk2s4以上信息告诉我们:1. 在/dev目录下; 2. 设备名称为disk2s4第二步:新
时间:2017-11-17 | 分类:技术文摘 | 标签: MAC  NTFS  WINDOWS