- TotalSegmentator 安装和配置指南
江望珣Vaughan
TotalSegmentator安装和配置指南TotalSegmentatorToolforrobustsegmentationof>100importantanatomicalstructuresinCTimages项目地址:https://gitcode.com/gh_mirrors/to/TotalSegmentator1.项目基础介绍和主要编程语言项目介绍TotalSegmentator是
- TotalSegmentator:一站式医学影像分割工具
柯江同
TotalSegmentator:一站式医学影像分割工具TotalSegmentatorToolforrobustsegmentationof>100importantanatomicalstructuresinCTimages项目地址:https://gitcode.com/gh_mirrors/to/TotalSegmentator项目基础介绍及编程语言TotalSegmentator是一个强
- ️ 总览:TotalSegmentator - 医学影像分割的革新者
金斐茉
️总览:TotalSegmentator-医学影像分割的革新者TotalSegmentatorToolforrobustsegmentationof>100importantanatomicalstructuresinCTimages项目地址:https://gitcode.com/gh_mirrors/to/TotalSegmentator在医学图像处理领域中,精确且高效的自动分割工具对于研究和
- 关系数据库的基本术语
iamphp
系统架构设计师数据库
(1)属性(Attribute):在现实世界中,要描述一个事物常常取若干特征来表示。这些特征称为属性。例如学生通过学号、姓名、性别、系别、年龄、籍贯等属性来描述。(2)域(Domain):每个属性的取值范围对应一个值的集合,称为该属性的域。例如,学号的域是6位整型数;姓名的域是10位字符;性别的域为{男,女}等。一般在关系数据模型中,对域还加了一个限制,即所有的域都应是原子数据(AtomicDat
- mysql整体会滚_滚mysql原理
樵枫
mysql整体会滚
Mysql的事务实现原理「收藏」Mysql的事务实现原理「收藏」1开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到...文章天啊我的钱2020-08-07145浏览量MySQL工具推荐|基于
- MySQL事务的四大特性ACID
卡莫纳王牌枪神
mysql数据库
目录一、原子性(Atomicity)二、一致性(Consistency)三、隔离性(Isolation)四、持久性(Durability)MySQL事务的四大特性ACID,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),是确保数据准确性和可靠性的关键所在。一、原子性(Atomicity)原子性是指事务是一个不可分割的最
- vue3 使用 highlight
穿越到未来calc
模板vue.jsjavascript前端
1.安装:npminstall--savehighlight.jsnpminstall--save@highlightjs/vue-plugin2.main.js中导入:import'highlight.js/styles/atom-one-dark.css'import'highlight.js/lib/common'importhljsVuePluginfrom'@highlightjs/vu
- Github 2025-02-15 Rust开源项目日报 Top10
老孙正经胡说
githubrust开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-02-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Rust项目10TypeScript项目1Zed:由Atom和Tree-sitter的创建者开发的高性能多人代码编辑器创建周期:1071天开发语言:Rust协议类型:OtherStar数量:9436个Fork数量:261次关注人数:9436人贡献人数
- $ operator is invalid for atomic vectors什么意思
滚菩提哦呢
"$operatorisinvalidforatomicvectors"意思是在对原子向量使用"$"操作符时是无效的。"$"操作符是R语言中用于访问数据框(dataframe)中的列的常用操作符。但是,原子向量(atomicvector)是R中的一种基本数据类型,它是一个长度固定的向量,并且所有元素都是相同的数据类型。因此,在对原子向量使用"$"操作符时是无效的,因为原子向量没有列的概念。例如,下
- 量化交易技术简介
0010000100
linux
量化交易1.C++技术栈高频交易和低延迟系统对C++和Linux内核的要求极高,需要高效的代码执行、低延迟的通信机制、以及对操作系统底层的深入优化。以下是关键技术点:1.C++技术栈高频交易需要极致的性能优化,因此C++代码需要低延迟、高吞吐,通常采用以下技术:(1)高性能数据结构•Lock-free数据结构(无锁队列、环形缓冲区)•采用std::atomic和内存屏障(memorybarrier
- weak的实现原理
gp103
ios
其实好多技术我们用的都很多,但是如果展开其中的细节原理,不一定能说的清楚。今天就说一下我们常用的属性修饰词weak例子@interfacePerson:NSObject@property(nonatomic,strong)Person*friend;@end@implementationPerson@endintmain(){Person*person1=[[Personalloc]init];P
- NSLock 详解
gp103
ios
NSLock是Objective-C提供的一种轻量级互斥锁,用于保证多线程访问共享资源的安全性。相比@synchronized,它的性能更好,并且提供了更灵活的锁管理方法。1.NSLock的基本使用1)lock和unlock@interfaceSafeCounter:NSObject@property(nonatomic,strong)NSLock*lock;@property(nonatomic
- 关于atomic 是否是线程安全的问题
gp103
ios
在Objective-C里,atomic特性并不能保证对象是完全线程安全的,下面从其基本原理、部分线程安全场景以及局限性来详细说明:先看一个例子#import@interfaceMyClass:NSObject@property(atomic,assign)NSIntegercount;@end@implementationMyClass-(void)incrementCount{self.cou
- rust解惑--并发
rust
crossbeam是一个并发包,还是挺好用的。crossbeam="0.8.1"AtomicCell:线程安全的可变容器。crossbeam-channel:多生产者多消费者通道。crossbeam-deque:工作窃取双端队列。crossbeam-queue:无锁队列(SegQueue和ArrayQueue)。crossbeam-skiplist:并发跳表。crossbeam-epoch:基于世
- AtomicLong简介及其用法
一名普通的程序员
java开发语言
1.什么是AtomicLong?AtomicLong是java并发包(java.util.concurrent.atomic)中的一个类,用于在多线程环境下对long类型变量进行原子操作。它提供了线程安全的更新操作,避免了显示锁的使用,适合在高并发的场景下使用。特点:原子性:支持原子性递增、递减、修改,所有操作都是原子的,线程安全。无锁:基于CAS(Compare-And-Swap)实现,性能优于
- Atom 常用快捷键
nickwhyy
AtomAtom快捷键
文件切换ctrl-shift-s保存所有打开的文件cmd-shift-o打开目录cmd-\显示或隐藏目录树ctrl-0焦点移到目录树目录树下,使用a,m,delete来增加,修改和删除cmd-t或cmd-p查找文件cmd-b在打开的文件之间切换cmd-shift-b只搜索从上次gitcommit后修改或者新增的文件导航(等价于上下左右)ctrl-p前一行ctrl-n后一行ctrl-f前一个字符ct
- 20190619-James-快速鸟瞰并发编程, 呕心沥血整理的架构技术(第2篇)
2401_86963927
架构jvmjava
//初始化状态keywordsSet.add(“james”);keywordsSet.add(“13号技师”);//使集合不可修改keywords=Collections.unmodifiableSet(keywordsSet);}}将一个对象引用保存在volatile类型的域或者是AtomicReference对象中。classJamesVolatile{privatevolatileStri
- Zookeeper的选举过程
夜深微雨醉初醒
#zookeeper分布式云原生
Zookeeper的选举代码分析Zookeeper的Leader选举是它分布式一致性和高可用性的关键机制。Zookeeper在集群中采用了基于ZAB协议(ZookeeperAtomicBroadcast)的Leader选举机制,以确保集群中的一个节点作为领导者,负责处理写请求,并将数据更新同步到其他跟随者节点。1.Leader选举概述Zookeeper集群中的每个节点都会参与到Leader选举中。
- 如何安装与配置 Atom 轻量级编辑器的 Python 开发环境
莫比乌斯之梦
技术#Pythonpython开发语言编辑器ide
如何安装与配置Atom轻量级编辑器的Python开发环境Atom是一款由GitHub开发的开源文本编辑器,以其简洁、可定制性强的特点深受开发者喜爱。虽然Atom本身是通用的代码编辑器,但通过安装插件和适当配置,它可以成为一个强大的Python开发工具。本文将详细介绍如何安装和配置Atom编辑器以支持Python开发。一、安装Atom编辑器下载Atom前往Atom官网下载适合您操作系统的版本(支持W
- 适用于 Windows 的 Zed 编辑器的非官方稳定版。通过 scoop 或 pwsh 脚本轻松安装。不隶属于 Zed Industries
struggle2025
windows编辑器
一、软件介绍(文末提供下载)Zed,这是一款由Atom和Tree-sitter的创建者提供的高性能多人AtomandTree-sitter.。二、macOS和Linux安装在macOS和Linux上,您可以直接下载Zed或通过本地包管理器安装Zed。本地包下载地址:夸克网盘分享三、windows安装构建适用于Windows的ZedRepository存储库ClonedowntheZedreposi
- 事务特征以及隔离级别,rabbitmq实战
澎湖Java架构师
程序员面试java后端
步骤:1.开启事务2.第二步:扣除A账户100元;3.第三步:B账户增加100元;4.第四步:提交事务。事务是如何保证的呢?这就要说到事务的几个特征:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability),也就是常说的ACID特性。原子性(atomicity):知道原子是什么吗?原子在化学反应中不可分割,也就是说原子是最小单位,
- vscode插件
CuteyChoma
前端vue.js
AntDesignSnippetsAutoCloseTag自动添加HTML/XML关闭标签AtomOneLight主题皮肤颜色AutoRenameTag自动重命名配对的HTML/XML标签Beautify格式化代码BetterCommentBeautifycss/sass/scss/lessBracketPairColorizer颜色识别匹配括号change-case虽然VSCode内置了开箱即用
- java 绘制六边形_六边形架构 Java 实现
chinhoyoo
java绘制六边形
原标题:六边形架构Java实现链接:shipilev.net/jvm-anatomy-park/2-transparent-huge-pages/六边形架构是一种设计风格,通过分层实现核心逻辑与外部对象隔离。其核心逻辑是业务模块,外部元素是整合点,比如数据库、外部API、界面等。它将软件分为内部与外部,内部包含了核心业务逻辑与领域层(所谓分层架构),外部包含界面、数据库、消息传递及其他内容。内部与
- Java并发编程知识点
master-dragon
#Java并发编程java
按照顺序复习理解CPU&缓存基础Java内存模型&volatile&线程安全:原子性、可见性、顺序性线程基础,Thread&Object相关方法概念ThreadLocalCASAbstractQueuedSynchronizerReentrantLockCountDownLatch&CyclicBarrierSemaphoresynchronized&锁分类原子变量:AtomicIntegerLo
- 构建企业级React应用的进阶实践
python算法(魔法师版)
react.js
构建企业级React应用的进阶实践在当今前端开发领域,React凭借其组件化架构和声明式编程范式,已成为构建复杂用户界面的首选方案。本文将深入探讨React的高级应用场景,通过一系列精心设计的代码示例,展示如何打造高性能、可维护的现代化前端应用。一、状态管理的艺术1.1原子化状态管理typescript复制//lib/recoil/atoms.tsimport{atom,selector}from
- 关于如何转换MarkDown文本并在Html内进行显示
Singe.Chen
HTMLhtml前端
今天遇到一个问题,从ChatGpt的API获取的文本格式为MarkDown,在HTML上使用textarea控件显示的时候就只是文字格式,并没有对MarkDown格式进行处理,今天就分享一下如何在Html上进行MarkDown格式文本的显示1.创建一个HTML页面,包括textarea和一个用于显示Markdown内容的div:TextareatoMarkdown2.将文本输入到div控件的.in
- 基于 Spring 的本地事务管理
可儿·四系桜
java数据库
1.什么是本地事务?本地事务是指在单一数据库系统内执行的一组操作,这些操作要么全部完成,要么全部不执行,是一个不可分割的工作单元。本地事务具有ACID特性:原子性(Atomicity):事务中的所有操作都作为一个整体提交或回滚;如果事务的一部分失败,则整个事务都会被撤销。一致性(Consistency):事务将数据库从一个一致状态转换到另一个一致状态,确保数据的完整性和规则得到遵守。隔离性(Iso
- HarmonyOS NEXT边学边玩:从零实现一个影视App(七、今日票房页面的设计与实现)
特立独行的猫a
HarmonyOSNEXT应用开发实战harmonyos华为
在本篇博客中,我们将介绍如何使用HarmonyOSNEXT框架从零开始构建一个简单的影视App,并重点实现“今日票房”页面的功能。我们将使用ArkUI组件库来搭建用户界面,并通过网络请求获取电影票房数据。开源项目地址:https://atomgit.com/csdn-qq8864/hmmovie项目准备首先,我们需要创建一个新的HarmonyOSNEXT项目,并配置好必要的依赖。确保你已经安装了D
- Electron: 跨平台桌面应用开发框架概览
百态老人
人工智能笔记
Electron的背景Electron是一个开源框架,允许开发者使用Web技术构建跨平台的桌面应用程序。它最初由GitHub开发,用于构建Atom编辑器,后来发展成为一个独立的项目,支持构建各种桌面应用程序,如VisualStudioCode、Slack、WhatsApp等。Electron的核心优势在于它结合了Chromium的UI能力和Node.js的后端功能,使得前端开发者可以使用熟悉的HT
- TwoSampleMR 报错解决:Error in r$status_code : $ operator is invalid for atomic vectors
生信碱移
r语言
运行以下代码的时候报错:library(TwoSampleMR)ao<-available_outcomes()简单看了下available_outcomes()函数的源码,不是TwoSampleMR的问题,应该是ieugwasr::gwasinfo函数的问题:去ieugwasr包github的issue看了看,发现作者5天前就解决了这个问题:好吧,解决方案就是重新安装一下ieugwasr包#删除
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数