sql审计平台部署
其它数据库管理平台:Orchestrator部署
包链接:https://github.com/hhyo/Archery/tree/master
部署链接:https://github.com/hhyo/Archery/wiki
获取链接地址:下载包

[root@mcw01 opt]# ls
Archery-master containerd hadoop jdk-8u191-linux-x64.tar.gz master.zip
[root@mcw01 opt]# wget https://github.com/hhyo/Archery/archive/refs/heads/master.zip
此时已经安装了docker的。没有docker-compose. ,安装参考:https://www.cnblogs.com/machangwei-8/p/16864532.html
下载 Releases文件,解压后进入docker-compose文件夹 如果网络受限可访问码云地址: gitee
打开 docker-compose.yml 在 service.archery.image 区域确认你所需要的镜像版本,如果你使用私有镜像,此处应填私有镜像地址
#启动
docker compose -f docker-compose.yml up -d #表结构初始化
docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql
python3 manage.py migrate #数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql #创建管理用户
python3 manage.py createsuperuser #重启服务
docker restart archery #日志查看和问题排查
docker logs archery -f --tail=10
logs/archery.log
部署报错:
[root@mcw01 docker-compose]# docker compose -f docker-compose.yml up -d
[+] Running 2/3
⠿ Container goinception Running 0.0s
⠿ Container redis Running 0.0s
⠋ Container mysql Starting 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint mysql (4bcc6a829b8af0baed8a4670f18f24c3c1eabe4a7957eacca56ff7636fad5839): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
[root@mcw01 docker-compose]#
部署需要拉取这四个镜像
[root@mcw01 docker-compose]# docker compose -f docker-compose.yml up -d
[+] Running 2/3
⠿ Container goinception Running 0.0s
⠿ Container redis Running 0.0s
⠋ Container mysql Starting 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint mysql (4bcc6a829b8af0baed8a4670f18f24c3c1eabe4a7957eacca56ff7636fad5839): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
[root@mcw01 docker-compose]#
停掉当前不用的数据库
systemctl stop mysqld
#启动
[root@mcw01 docker-compose]# docker compose -f docker-compose.yml up -d
[+] Running 4/4
⠿ Container goinception Running 0.0s
⠿ Container redis Healthy 1.4s
⠿ Container mysql Healthy 12.0s
⠿ Container archery Started 2.0s
[root@mcw01 docker-compose]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ce2c1570022 hhyo/archery:v1.10.0 "bash /opt/archery/s…" 9 hours ago Up 18 seconds 0.0.0.0:9123->9123/tcp, :::9123->9123/tcp archery
e47d0665abdc redis:5 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 6379/tcp redis
11b701c9a8d8 hanchuanchuan/goinception "/usr/local/bin/dumb…" 9 hours ago Up 9 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp goinception
22e12659e764 mysql:5.7 "docker-entrypoint.s…" 9 hours ago Up 31 seconds (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@mcw01 docker-compose]#
#表结构初始化
[root@mcw01 docker-compose]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ce2c1570022 hhyo/archery:v1.10.0 "bash /opt/archery/s…" 9 hours ago Up 18 seconds 0.0.0.0:9123->9123/tcp, :::9123->9123/tcp archery
e47d0665abdc redis:5 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 6379/tcp redis
11b701c9a8d8 hanchuanchuan/goinception "/usr/local/bin/dumb…" 9 hours ago Up 9 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp goinception
22e12659e764 mysql:5.7 "docker-entrypoint.s…" 9 hours ago Up 31 seconds (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@mcw01 docker-compose]#
[root@mcw01 docker-compose]# docker exec -ti archery /bin/bash
[root@7ce2c1570022 archery]# cd /opt/archery
[root@7ce2c1570022 archery]# ls
admin.sh CODE_OF_CONDUCT.md CONTRIBUTING.md docs keys local_settings.py manage.py media README.md sql src static supervisord.pid
archery common debug.sh downloads LICENSE logs masking.sh __pycache__ requirements.txt sql_api startup.sh supervisord.conf
[root@7ce2c1570022 archery]# ls ..
archery microsoft venv4archery
[root@7ce2c1570022 archery]# ls /opt/
archery microsoft venv4archery
[root@7ce2c1570022 archery]# ls bin
ls: cannot access bin: No such file or directory
[root@7ce2c1570022 archery]# ls /opt/venv4archery/
bin cx_Oracle-doc include lib pyvenv.cfg share
[root@7ce2c1570022 archery]# ls /opt/venv4archery/bin/
activate activate.nu django-admin f2py3 geomet jsonschema pasteurize pip3 __pycache__ python qr sshtunnel tqdm wheel-3.9
activate.csh activate.ps1 echo_supervisord_conf f2py3.9 gunicorn jws pidproxy pip-3.9 pyodps-pack python3 schemasync supervisorctl wheel wheel3.9
activate.fish activate_this.py f2py futurize jp.py normalizer pip pip3.9 pyou python3.9 sqlformat supervisord wheel3
[root@7ce2c1570022 archery]#
[root@7ce2c1570022 archery]#
[root@7ce2c1570022 archery]# source /opt/venv4archery/bin/activate
(venv4archery) [root@7ce2c1570022 archery]# which python3
/opt/venv4archery/bin/python3
(venv4archery) [root@7ce2c1570022 archery]# which python
/opt/venv4archery/bin/python
(venv4archery) [root@7ce2c1570022 archery]# python3 manage.py makemigrations sql
2023-12-30 19:04:00,793 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
Migrations for 'sql':
sql/migrations/0001_initial.py
- Create model SlowQuery
- Create model SlowQueryHistory
- Create model ArchiveConfig
- Create model AuditEntry
- Create model CloudAccessKey
- Create model Config
- Create model DataMaskingRules
- Create model Instance
- Create model InstanceTag
- Create model Permission
- Create model QueryLog
- Create model ResourceGroup
- Create model SqlWorkflow
- Create model Tunnel
- Create model WorkflowAuditDetail
- Create model WorkflowLog
- Create model WorkflowAuditSetting
- Create model WorkflowAudit
- Create model SqlWorkflowContent
- Create model QueryPrivilegesApply
- Create model ParamTemplate
- Create model ParamHistory
- Add field instance_tag to instance
- Add field resource_group to instance
- Add field tunnel to instance
- Create model DataMaskingColumns
- Create model ArchiveLog
- Add field dest_instance to archiveconfig
- Add field resource_group to archiveconfig
- Add field src_instance to archiveconfig
- Create model AliyunRdsConfig
- Create model Users
- Create model TwoFactorAuthConfig
- Create model QueryPrivileges
- Create model InstanceDatabase
- Create model InstanceAccount
(venv4archery) [root@7ce2c1570022 archery]# python3 manage.py migrate
2023-12-30 19:05:09,615 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
Operations to perform:
Apply all migrations: admin, auth, contenttypes, django_q, sessions, sql
Running migrations:
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sql.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying django_q.0001_initial... OK
Applying django_q.0002_auto_20150630_1624... OK
Applying django_q.0003_auto_20150708_1326... OK
Applying django_q.0004_auto_20150710_1043... OK
Applying django_q.0005_auto_20150718_1506... OK
Applying django_q.0006_auto_20150805_1817... OK
Applying django_q.0007_ormq... OK
Applying django_q.0008_auto_20160224_1026... OK
Applying django_q.0009_auto_20171009_0915... OK
Applying django_q.0010_auto_20200610_0856... OK
Applying django_q.0011_auto_20200628_1055... OK
Applying django_q.0012_auto_20200702_1608... OK
Applying django_q.0013_task_attempt_count... OK
Applying django_q.0014_schedule_cluster... OK
Applying sessions.0001_initial... OK
(venv4archery) [root@7ce2c1570022 archery]#
#数据初始化
(venv4archery) [root@7ce2c1570022 archery]# ls
admin.sh CODE_OF_CONDUCT.md CONTRIBUTING.md docs keys local_settings.py manage.py media README.md sql src static supervisord.pid
archery common debug.sh downloads LICENSE logs masking.sh __pycache__ requirements.txt sql_api startup.sh supervisord.conf
(venv4archery) [root@7ce2c1570022 archery]# ls sql
admin.py binlog.py engines __init__.py instance.py models.py __pycache__ resource_group.py sql_optimize.py static tests.py utils
archiver.py data_dictionary.py fixtures instance_account.py locale notify.py query_privileges.py slowlog.py sql_tuning.py templates urls.py views.py
audit_log.py db_diagnostic.py form.py instance_database.py migrations plugins query.py sql_analyze.py sql_workflow.py templatetags user.py
(venv4archery) [root@7ce2c1570022 archery]# ls sql/fixtures/
auth_group.sql
(venv4archery) [root@7ce2c1570022 archery]# ls src/
charts docker docker-compose init_sql plugins script
(venv4archery) [root@7ce2c1570022 archery]# ls src/init_sql/
del_permissions.sql v1.0_init.sql v1.2.0_v1.3.0.sql v1.4.2_v1.4.3.sql v1.5.3_v1.6.0.sql v1.6.5_v1.6.6.sql v1.7.10_v1.7.11.sql v1.7.4_v1.7.5.sql v1.8.4.sql
goinception_param_template.sql v1.0_v1.1.0.sql v1.3.0_v1.3.2.sql v1.4.3_v1.4.5.sql v1.6.0_v1.6.1.sql v1.6.6_v1.6.7.sql v1.7.11_v1.7.12.sql v1.7.6_v1.7.7.sql v1.9.0.sql
mysql_slow_query_review.sql v1.10.0.sql v1.3.6_v1.3.7.sql v1.4.5_v1.5.0.sql v1.6.1_v1.6.2.sql v1.6.7_v1.7.0.sql v1.7.1_v1.7.2.sql v1.7.7_v1.7.8.sql
rds_param_template.sql v1.1.0_v1.2.0.sql v1.3.8_v1.4.0.sql v1.5.3_comment.sql v1.6.2_v1.6.3.sql v1.7.0_v1.7.1.sql v1.7.2_v1.7.3.sql v1.8.3.sql
(venv4archery) [root@7ce2c1570022 archery]# ls src/init_sql/mysql_slow_query_review.sql
src/init_sql/mysql_slow_query_review.sql
(venv4archery) [root@7ce2c1570022 archery]#
(venv4archery) [root@7ce2c1570022 archery]#
(venv4archery) [root@7ce2c1570022 archery]# python3 manage.py dbshell<sql/fixtures/auth_group.sql
2023-12-30 19:07:55,192 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
(venv4archery) [root@7ce2c1570022 archery]# python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql
2023-12-30 19:08:15,485 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
(venv4archery) [root@7ce2c1570022 archery]#
#创建管理用户
(venv4archery) [root@7ce2c1570022 archery]# python3 manage.py createsuperuser
2023-12-30 19:25:52,474 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
用户名: machangwei
电子邮件地址: 89xxx15@qq.com
Password: 123456
Password (again):
密码长度太短。密码必须包含至少 9 个字符。
这个密码太常见了。
密码只包含数字。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
(venv4archery) [root@7ce2c1570022 archery]#
#重启服务
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
(venv4archery) [root@7ce2c1570022 archery]# exit
exit
[root@mcw01 docker-compose]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ce2c1570022 hhyo/archery:v1.10.0 "bash /opt/archery/s…" 9 hours ago Up 39 minutes 0.0.0.0:9123->9123/tcp, :::9123->9123/tcp archery
e47d0665abdc redis:5 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 6379/tcp redis
11b701c9a8d8 hanchuanchuan/goinception "/usr/local/bin/dumb…" 9 hours ago Up 9 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp goinception
22e12659e764 mysql:5.7 "docker-entrypoint.s…" 9 hours ago Up 39 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@mcw01 docker-compose]#
[root@mcw01 docker-compose]#
[root@mcw01 docker-compose]# docker restart archery
archery
[root@mcw01 docker-compose]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ce2c1570022 hhyo/archery:v1.10.0 "bash /opt/archery/s…" 9 hours ago Up 10 seconds 0.0.0.0:9123->9123/tcp, :::9123->9123/tcp archery
e47d0665abdc redis:5 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 6379/tcp redis
11b701c9a8d8 hanchuanchuan/goinception "/usr/local/bin/dumb…" 9 hours ago Up 9 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp goinception
22e12659e764 mysql:5.7 "docker-entrypoint.s…" 9 hours ago Up 40 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@mcw01 docker-compose]#
#日志查看和问题排查
[root@mcw01 docker-compose]# docker logs archery -f --tail=10
[2023-12-30 19:32:24 +0800] [17] [INFO] Listening at: http://127.0.0.1:8888 (17)
[2023-12-30 19:32:24 +0800] [17] [INFO] Using worker: sync
[2023-12-30 19:32:24 +0800] [18] [INFO] Booting worker with pid: 18
[2023-12-30 19:32:24 +0800] [19] [INFO] Booting worker with pid: 19
[2023-12-30 19:32:24 +0800] [20] [INFO] Booting worker with pid: 20
[2023-12-30 19:32:24 +0800] [21] [INFO] Booting worker with pid: 21
2023-12-30 19:32:26,203 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
2023-12-30 19:32:26,587 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
2023-12-30 19:32:26,654 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
2023-12-30 19:32:26,798 - environ.environ - INFO - /opt/archery/.env not found - if you're not configuring your environment separately, check this.
[root@mcw01 docker-compose]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ce2c1570022 hhyo/archery:v1.10.0 "bash /opt/archery/s…" 10 hours ago Up 4 minutes 0.0.0.0:9123->9123/tcp, :::9123->9123/tcp archery
e47d0665abdc redis:5 "docker-entrypoint.s…" 10 hours ago Up 10 hours (healthy) 6379/tcp redis
11b701c9a8d8 hanchuanchuan/goinception "/usr/local/bin/dumb…" 10 hours ago Up 10 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp goinception
22e12659e764 mysql:5.7 "docker-entrypoint.s…" 10 hours ago Up 44 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@mcw01 docker-compose]#
[root@mcw01 docker-compose]# docker exec -ti archery /bin/bash
[root@7ce2c1570022 archery]# ls
admin.sh CODE_OF_CONDUCT.md CONTRIBUTING.md docs keys local_settings.py manage.py media README.md sql src static supervisord.pid
archery common debug.sh downloads LICENSE logs masking.sh __pycache__ requirements.txt sql_api startup.sh supervisord.conf
[root@7ce2c1570022 archery]# ls logs/
archery.log qcluster.log supervisord.log
[root@7ce2c1570022 archery]# cast logs/archery.log
bash: cast: command not found
[root@7ce2c1570022 archery]# cat logs/archery.log
[root@7ce2c1570022 archery]#
访问
[root@7ce2c1570022 archery]# ss -lntup|grep 9123
tcp LISTEN 0 128 *:9123 *:* users:(("nginx",pid=12,fd=7))
[root@7ce2c1570022 archery]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.18.0.5/16 brd 172.18.255.255 scope global eth0
valid_lft forever preferred_lft forever
[root@7ce2c1570022 archery]# exit
exit
[root@mcw01 docker-compose]# ss -lntup|grep 9123
tcp LISTEN 0 16384 *:9123 *:* users:(("docker-proxy",pid=119730,fd=4))
tcp LISTEN 0 16384 :::9123 :::* users:(("docker-proxy",pid=119734,fd=4))
[root@mcw01 docker-compose]# hostname -I
10.0.0.11 172.17.0.1 172.18.0.1
[root@mcw01 docker-compose]#
http://10.0.0.11:9123/

成功登录

sql审计平台部署的更多相关文章
- SQL审核平台Yearning部署
SQL审核平台Yearning部署 Yearning优势: Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的S ...
- SQL审计 Yearning 介绍(SQL审核平台)
yearning SQL 是一个成熟的SQL审计平台
- SQL审核平台-Yearning安装部署实践
相关文档: https://guide.yearning.io/ yearning简介 http://python.yearning.io/install/ yearning安装 Yearning ...
- Yearning 介绍(SQL审核平台)
介绍 Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQL检测及执行. GitHub:https://gith ...
- Cobar SQL审计的设计与实现
背景介绍 Cobar简介 Cobar 是阿里开源的一款数据库中间件产品. 在业务高速增长的情况下,数据库往往成为整个业务系统的瓶颈,数据库中间件的出现就是为了解决数据库瓶颈而产生的一种中间层产品. 在 ...
- Yearning v1.3.0 发布,Web 端 SQL 审核平台
企业级MYSQL web端 SQL审核平台. Website 官网 www.yearning.io Feature 功能 数据库字典自动生成 SQL查询 查询工单 导出 自动补全,智能提示 查询语句审 ...
- 基于Inception搭建MySQL SQL审核平台Yearing
基于Inception搭建MySQL SQL审核平台Yearing Inception 1. Inceptionj简介 2. Inception安装 2.1 下载和编译 2.2 启动配置 Yearni ...
- .NET Core开发的iNeuOS物联网平台部署树霉派,从网关到云端整体解决方案。助力2019中国.NET峰会。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 树莓派硬件配置... 2 3. 软件信息... 3 4. Raspb ...
- .NET Core开发的iNeuOS物联网平台部署树霉派(raspbian),从网关到云端整体解决方案。助力2019中国.NET峰会。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 树莓派硬件配置... 2 3. 软件信息... 3 4. Raspb ...
- 从零构建Flink SQL计算平台 - 1平台搭建
一.理想与现实 Apache Flink 是一个分布式流批一体化的开源平台.Flink 的核心是一个提供数据分发.通信以及自动容错的流计算引擎.Flink 在流计算之上构建批处理,并且原生的支持迭代计 ...
随机推荐
- 深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XM ...
- 关于集群节点timeline不一致的处理方式
关于集群节点 timeline 不一致的处理方式 本文出处:https://www.modb.pro/db/400223 在 PostgreSQL/MogDB/openGauss 数据库日常维护过程中 ...
- k8s集群安装(kubeadm方式)
一.准备三台虚拟机,系统CentOS7.9: 192.168.1.221 master1 192.168.1.189 node1 192.168.1.60 node2 二..对三台虚拟机初始化 1 ...
- 【进阶篇】Java 实际开发中积累的几个小技巧(二)
目录 前言 六.自定义注解 6.1定义注解 6.2切面实现 6.3业务使用 七.抽象类和接口 7.1隔离业务层与 ORM 层 7.2隔离子系统的业务实现 7.3选择对比 文章小结 前言 笔者目前从事一 ...
- 关于mac使用figma以及企业微信3.1.18版本,CPU系统占用率飙升至70%
问题描述 使用一段时间正常,不知道是修改了什么设置,还是有什么软件冲突,导致cpu使用率极高 系统进程中有一个 kernel_task 占用了大量的cpu 并且该占用并不会消失,只要figma打开就会 ...
- 使用 Docker 部署 TailChat 开源即时通讯平台
1)介绍 TailChat 官网: https://tailchat.msgbyte.com/ 作者:https://www.moonrailgun.com/about/ GitHub : https ...
- ECharts海量数据渲染解决卡顿的4种方式
场景 周五进行需求评审的时候: 出现了一个图表,本身一个图表本没有什么稀奇的: 可是产品经理在图表的上的备注,让我觉得这个事情并不简单: 那个图表的时间跨度可以是月,年,而且时间间隔很短: 这让我意识 ...
- 基于 eBPF 的 Kubernetes 可观测实践
简介: 阿里云可观测团队构建了 kubernetes 统一监控,无侵入式地提供多语言.应用性能黄金指标,支持多种协议,结合 Kubernetes 管控层与网络系统层监控,提供全栈一体式的可观测体验.通 ...
- 用了那么久的Lombok,你知道它的原理么?
简介: 在写Java代码的时候,最烦写setter/getter方法,自从有了Lombok插件不用再写那些方法之后,感觉再也回不去了,那你们是否好奇过Lombok是怎么把setter/getter方法 ...
- dubbogo 3.0:牵手 gRPC 走向云原生时代
作者 | 李志信 于雨来源|阿里巴巴云原生公众号 自从 2011 年 Dubbo 开源之后,被大量中小公司采用,一直是国内最受欢迎的 RPC 框架.2014 年,由于阿里内部组织架构调整,Dubbo ...