- pyspark 遇到**Py4JJavaError** Traceback (most recent call last) ~\AppData\
2pi
sparkpython
Py4JJavaErrorTraceback(mostrecentcalllast)~\AppData\Local\Temp/ipykernel_22732/1401292359.pyin---->1feat_df.show(5,vertical=True)D:\Anaconda3\envs\recall-service-cp4\lib\site-packages\pyspark\sql\data
- MySQL 安全传输
向阳1218
大数据doris
Doris开启SSL功能需要配置CA密钥证书和Server端密钥证书,如需开启双向认证,还需生成Client端密钥证书:默认的CA密钥证书文件位于Doris/fe/mysql_ssl_default_certificate/ca_certificate.p12,默认密码为doris,您可以通过修改FE配置文件conf/fe.conf,添加mysql_ssl_default_ca_certifica
- 在NET6项目中报错,未能在命名空间System.Data.SqlClient中找到类型名SqlCommand,解决办法
luckyext
c#后端.netvisualstudioasp.netsql前端
在NET6项目中报错,未能在命名空间System.Data.SqlClient中找到类型名SqlCommand问题:NET6项目编译时报错如下未能在命名空间“System.Data.SqlClient”中找到类型名“SqlCommand”。此类型已转发到程序集“System.Data.SqlClient,Version=0.0.0.0,Culture=neutral,PublicKeyToken=
- Flink实践:通过Flink SQL进行SFTP文件的读写操作
kkk1622245
flinksql大数据
在大数据处理领域,ApacheFlink出类拔萃,它是一个高性能、易扩展、用于处理有界和无界数据流的分布式处理引擎。FlinkSQL是ApacheFlink提供的一种声明式API,允许开发者以SQL的形式,轻松实现复杂的数据流和批处理分析。本文将重点探讨如何通过FlinkSQL来实现对SFTP文件的读写操作,这是在实际应用中经常遇到的一种场景。Flink与SFTP文件的读写在很多实际应用场景中,数
- 搭建内网DNS服务器
小卓笔记
服务器linux运维
1.1实验目的在内网服务器可以实现使用域名进行上网主机角色系统IPdns-client客户端redhat9.5192.168.33.7dns-server域名解析服务器rocky9.5192.168.33.1001.2环境准备#rocky#安装net-toolsbash-completionvim(rocky未自带这些服务)[root@dns-server~]#dnfinstallnet-tool
- 【GreatSQL优化器-17】DYNAMIC RANGE
数据库mysql
【GreatSQL优化器-17】DYNAMICRANGE一、DYNAMICRANGE介绍GreatSQL的优化器有一种扫描方式是动态范围扫描方式,类似于“已读乱回”模式,这种模式是在表有多个索引的情况下,对驱动表连接的时候部分选择索引的情况。优化器没有找到好的索引可以使用,但发现在知道前面表的列值后,可能会使用某些索引。对于前面表中的每个行组合,优化器检查是否可以使用range或indexmerg
- 关于CanvasRenderer.SyncTransform触发调用的机制
1)关于CanvasRenderer.SyncTransform触发调用的机制2)小游戏Spine裁剪掉帧问题3)DedicatedServer性能问题4).mp4视频放入RT进行渲染的性能分析闭坑指南这是第421篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.uwa4d.comUWAQ
- Android通过uri 获取文件路径
迷路国王
Android知识
话不多说,通过uri获取文件路径遇到了很多坑,但也最终解决了,直接上代码。importandroid.content.ContentResolver;importandroid.content.ContentUris;importandroid.content.Context;importandroid.database.Cursor;importandroid.net.Uri;importand
- 程序员都在偷偷用的黑科技工具,老板发现后竟主动要求加薪?
后端
上周三凌晨两点,我正对着满屏的SQL报错信息抓耳挠腮。同事老王突然在微信群里甩来一行代码:"试试用DeepSeek分析你的数据库日志。"我半信半疑地复制粘贴,没想到这个看似普通的指令,居然在十秒内就定位到了索引缺失的根源。更魔幻的是,第二天早会上,那个总板着脸的CTO居然在全员面前点名表扬了我的"超强问题排查能力"。这就是DeepSeek最让我着迷的地方——它总能把复杂的代码问题变成幼儿园算术题。
- android开发—项目结构设计
LaFerrariLi
android开发结构经验设计移动开发
我作为一名Android开发者也有好几年的经历了,从打杂开始到带领几个人的小团队开发,写过的项目也有很多了,从小到几十个页面的到几百个页面的,也算是积累了一些移动开发的经验了。我在这些年的工作当中发现很多开发者都喜欢把所有的代码,类放在一个项目下,甚至还有人把Adapter放在Activity中,这些做法显然是不好的首先是看起来很不方便,结构很乱,不利于优化和修改,时间长了项目大了之后,迭代简直就
- mysql数据库转移到oracle
阳光女孩666
oraclemysqlmysqloracle
在研发过程中,可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中,比如说从mysql中迁移到oracle中,常用的方法有好些,如下:1、使用powerdesigner,先连接mysql然后生成mysql的pdm,再把mysql的pdm生成cdm(注:如果设计阶段有cdm那更好,可以直接使用,因为cdm是和具体数据库类型无关的,所以需要转为这个中间模型),最后把cdm生成oracle类型的p
- Mybatis基本使用
沉下心来学技术
mybatis
什么是MyBatis?MyBatis是一个优秀的持久层框架,它对jdbc的操作进行了封装,使得数据库的操作不再繁琐,避免大量的代码编写,使开发人员将更多的精力放在sql语句上。MyBatis的优点简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。它只是一种帮助程序,让程序开发者自
- 高级java每日一道面试题-2025年3月06日-微服务篇[Eureka篇]-Eureka服务注册与发现是什么?
java我跟你拼了
java每日一道面试题java微服务eureka
如果有遗漏,评论区告诉我进行补充面试官:Eureka服务注册与发现是什么我回答:根据你提供的详细解析,结合之前的回答,我们可以更加全面地理解Eureka服务注册与发现机制,并补充一些关键点,特别是针对面试准备的内容。一、服务注册(ServiceRegistration)核心机制:当服务提供者启动时,它会通过EurekaClient向EurekaServer发送元数据。这些元数据包括但不限于IP地址
- oracle数据库转mysql数据库
一直想成为大神的菜鸟
数据库oraclemysql
1.删除oracle相关配置1.1删除pom中的oracle依赖1.2删除有关@Configuration中oracle配置2.驱动引入引入mysql依赖mysqlmysql-connector-java8.0.13org.springframework.bootspring-boot-starter-jdbc3.配置文件更改spring:datasource:druid:url:jdbc:mys
- 有关骑手跑单分段统计
TracyLi2019
mysql数据库
MYSQL骑手跑单分段统计需求统计24年各月,在固定配送团队的,不同订单距离的骑手跑单量*根据月份和骑手id作为分类SELECTYEAR(date)AS年份,MONTH(date)AS月份,team_nameAS配送团队,rider_idAS骑手id,rider_nameAS骑手姓名,
- 用VSCode做前端开发
北子ALF
杂谈vscodeide编辑器
vscode写前端和记markdown还是很好用的,虽然在C++,Java和Python大型项目开发的体验不如vs,idea和pycharm自动生成html骨架打个感叹号预览网页:liveserver插件
- vscode使用ssh同时连接主机CentOS:user和ubuntu20.04:docker
李卓璐
学习笔记vscodesshcentos
主机为CentOSdocker为Ubuntu20.04两者可以使用一个vscode远程链接1.使用已拉取好的Ubuntu镜像建立docker容器2.进入容器内,下载一些关于ssh的安装包apt-getinstallvimapt-getinstallopenssh-clientapt-getinstallopenssh-serverapt-getinstallsshpasswd#更改密码3.启动ss
- Oracle转化为MySQL数据库
袅沫
点兵之经数据库mysql
使用HttpClient调用Post方法的时候,EntityUtils.toString(response.getEntity());响应数据只能读取一次,读取多次会出现,Attemptedreadfromclosedstream错误。Oracle转化为MySQL数据库OracleMySQLORDERBYCREATED_TIMEDESCNULLSLASTORDERBYCREATED_TIMEDES
- JAVA毕业设计河南口腔医疗机构线上服务系统计算机源码+lw文档+系统+调试部署+数据库
煦洋cxsj985
javajvm开发语言
JAVA毕业设计河南口腔医疗机构线上服务系统计算机源码+lw文档+系统+调试部署+数据库JAVA毕业设计河南口腔医疗机构线上服务系统计算机源码+lw文档+系统+调试部署+数据库本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5
- Selenium与MySQL数据校验自动化
噔噔噔噔@
软件测试面试题专栏软件测试基础及工具分享自动化运维selenium集成测试
在使用Selenium进行UI自动化测试时,如果需要连接MySQL数据库进行数据校验,可以通过以下步骤实现:1.安装必要的库首先,确保你已经安装了以下Python库:selenium:用于UI自动化。mysql-connector-python或pymysql:用于连接MySQL数据库。你可以使用以下命令安装这些库:pipinstallseleniummysql-connector-python2
- SQL 数据库管理:提升数据管理效率的关键
斗-匕
oracle数据库
SQL数据库管理:提升数据管理效率的关键在当今数字化时代,数据的重要性不言而喻。无论是企业的业务数据、科研机构的实验数据,还是个人的信息数据,都需要有效的管理和存储。SQL(StructuredQueryLanguage)数据库作为一种广泛使用的数据管理工具,在各个领域都发挥着重要作用。本文将深入探讨SQL数据库管理的重要性、关键技术和最佳实践。一、SQL数据库管理的重要性数据存储和组织SQL数据
- 数据访问:JPA 关联& MyBatis
斗-匕
oracle数据库
创建项目添加关键依赖包:任何使用方式都需要首在pox.xml中引入mybatis-spring-boot-starter的启动器,我们使用项目向导添加的依赖如下:application.ymlspring:#配置数据源datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/crm?us
- Windows空间和Linux空间的最大的区别是什么?
网硕互联的小客服
服务器运维linuxphp网络
Windows空间和Linux空间是网站托管和应用部署中常用的两种服务器环境,它们之间存在多方面的显著差异。以下是Windows空间和Linux空间的主要区别:###一、操作系统***Windows空间**:使用WindowsServer操作系统,如WindowsServer2016、2019等。这些系统提供图形用户界面(GUI),便于用户操作和管理。***Linux空间**:使用Linux操作系
- 10-29 插入学生总学分表(MSSQL)
拿下pta500题
sqlserver数据结构数据库mssql
本题目要求编写Insert语句,计算每位同学获得的总学分,并将所有学生的总学分按学号升序排序后一起插入到totalcredit表中。注意:1)当某门课程成绩在60分以上时才能合计计入总学分2)如果某学生尚未选修任何课程时,总学分计为0,并插入到totalcredit表中。3)执行Insert语句之前,totalcredit表中没有任何记录。提示:MSSQLServer评测SQL语句。inserti
- YUNBE云贝-PostgreSQL Vacuum详解:深入理解与实践
云贝教育-郑老师
postgresql数据库缓存sqldba
引言PostgreSQL作为一款功能强大、开源的关系型数据库管理系统,其性能优化机制中,“VACUUM”命令扮演着至关重要的角色。本文将对PostgreSQL的VACUUM操作进行全面解析,探讨其工作原理、类型以及如何在实际环境中合理应用。一、VACUUM基础概念1.1VACUUM的作用在PostgreSQL中,当数据被更新或删除时,系统并不会立即释放物理空间,而是将其标记为“可重用”。随着时间推
- 安卓环境脚本
nb的码农
linux杂项linux
sudoapt-getinstalluuiduuid-devzlib1g-devliblz-devliblzo2-2liblzo2-devlzopgit-corecurlu-boot-toolsmtd-utilsandroid-tools-fsutilsopenjdk-8-jdkdevice-tree-compiler\gdiskm4libz-devgitgnupgflexbisongperfli
- 安装(python 版)
C-haidragon
mysql
安装安装sudoapt-getinstallmysql-servermysql-client然后按照提示输入管理服务启动servicemysqlstart停止servicemysqlstop重启servicemysqlrestart允许远程连接找到mysql配置文件并修改sudovi/etc/mysql/mysql.conf.d/mysqld.cnf将bind-address=127.0.0.1注
- arm64 ubuntu20.4 安装 mysql5.7 脚本
因你而在的梦
linuxubuntuarm64mysql5.7
1.安装依赖sudoaptupdatesudoaptinstall-ylibaio*2.下载压缩包wgethttps://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz3.添加mysql组和mysql用户sudogroupaddmysqlsudouseradd-r-gmysq
- SQL Server 触发器
.Net 爱好者
sql数据库oracle
在SQLServer中,触发器是一种特殊类型的存储过程,它会在特定事件发生时自动执行。触发器主要分为以下几种类型:DML触发器(DataManipulationLanguageTriggers)DDL触发器(DataDefinitionLanguageTriggers)登录触发器(LogonTriggers)1.DML触发器DML触发器用于响应数据操作语言(INSERT、UPDATE、DELETE
- 【MySQL】关闭外键约束检查
AutismBtkrsr
mysql数据库
插入SQL之前,可以关闭外键约束检查CREATEDATABASEIFNOTEXISTSexam;SHOWVARIABLESLIKE'collation%';SHOWVARIABLESLIKE'character%';USEexam;SETFOREIGN_KEY_CHECKS=0;SETFOREIGN_KEY_CHECKS=1;
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数