焦点热门:楼市3·15,深圳网红盘接连翻车,这些业主气哭了
楼市3·15,深圳网红盘接连翻车,这些业主气哭了
2023-03-15谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。
这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番。
(资料图片)
Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:
ShardingSphere-Proxy ShardingSphere-JDBC▍一、ShardingSphere-Proxy
ShardingSphere-Proxy 被定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。
代理层介于应用程序与数据库间,每次请求都需要做一次转发,请求会存在额外的时延。
这种方式对于应用非常友好,应用基本零改动,和语言无关,可以通过连接共享减少连接数消耗。
▍二、ShardingSphere-JDBC
ShardingSphere-JDBC 是 ShardingSphere 的第一个产品,也是 ShardingSphere 的前身, 我们经常简称之为:sharding-jdbc 。
它定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。
当我们在 Proxy 和 JDBC 两种模式选择时,可以参考下表对照:
JDBC | Proxy | |
---|---|---|
数据库 |
| MySQL/PostgreSQL |
连接消耗数 |
| 低 |
异构语言 |
| 任意 |
性能 |
| 损耗略高 |
无中心化 |
| 否 |
静态入口 |
| 有 |
越来越多的公司都在生产环境使用了 sharding-jdbc ,最核心的原因就是:简单(原理简单,易于实现,方便运维)。
在后端开发中,JDBC 编程是最基本的操作。不管 ORM 框架是 Mybatis 还是 Hibernate ,亦或是 spring-jpa ,他们的底层实现是 JDBC 的模型。
sharding-jdbc 的本质上就是实现 JDBC 的核心接口。
接口 | 实现类 |
---|---|
DataSource | ShardingDataSource |
Connection | ShardingConnection |
Statement | ShardingStatement |
PreparedStatement | ShardingPreparedStatement |
ResultSet | ShardingResultSet |
虽然我们理解了 sharding-jdbc 的本质,但是真正实现起来还有非常多的细节,下图展示了 Prxoy 和 JDBC 两种模式的核心流程。
1.SQL 解析
分为词法解析和语法解析。 先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器对 SQL 进行理解,并最终提炼出解析上下文。
解析上下文包括表、选择项、排序项、分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。
2.执行器优化
合并和优化分片条件,如 OR 等。
3.SQL 路由
根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。
4.SQL 改写
将 SQL 改写为在真实数据库中可以正确执行的语句。SQL 改写分为正确性改写和优化改写。
5.SQL 执行
通过多线程执行器异步执行。
6.结果归并
将多个执行结果集归并以便于通过统一的 JDBC 接口输出。结果归并包括流式归并、内存归并和使用装饰者模式的追加归并这几种方式。
本文的重点在于实战层面, sharding-jdbc 的实现原理细节我们会在后续的文章一一给大家呈现 。
笔者曾经为武汉一家 O2O 公司订单服务做过分库分表架构设计 ,当企业用户创建一条采购订单 , 会生成如下记录:
订单基础表t_ent_order:单条记录 订单详情表t_ent_order_detail:单条记录订单明细表t_ent_order_item:N条记录订单数据采用了如下的分库分表策略:
订单基础表按照 ent_id (企业用户编号) 分库 ,订单详情表保持一致;订单明细表按照 ent_id (企业用户编号) 分库,同时也要按照 ent_id (企业编号) 分表。首先创建 4 个库,分别是:ds_0、ds_1、ds_2、ds_3 。
这四个分库,每个分库都包含 订单基础表 , 订单详情表 ,订单明细表 。但是因为明细表需要分表,所以包含多张表。
然后 springboot 项目中配置依赖 :
org.apache.shardingsphere sharding-jdbc-spring-boot-starter 4.1.1
配置文件中配置如下:
配置数据源,上面配置数据源是: ds0、ds1、ds2、ds3 ;配置打印日志,也就是:sql.show ,在测试环境建议打开 ,便于调试;配置哪些表需要分库分表 ,在 shardingsphere.datasource.sharding.tables 节点下面配置:上图中我们看到配置分片规则包含如下两点:
1.真实节点
对于我们的应用来讲,我们查询的**逻辑表**是:t_ent_order_item 。
它们在数据库中的真实形态是:`t_ent_order_item_0` 到 `t_ent_order_item_7`。
真实数据节点是指数据分片的最小单元,由数据源名称和数据表组成。
订单明细表的真实节点是:`ds$->{0..3}.t_ent_order_item_$->{0..7}` 。
2.分库分表算法
配置分库策略和分表策略 , 每种策略都需要配置分片字段( sharding-columns )和分片算法。
分片算法和阿里开源的数据库中间件 cobar 路由算法非常类似的。
假设现在需要将订单表平均拆分到4个分库 shard0 ,shard1 ,shard2 ,shard3 。
首先将 0-1023 平均分为4个区段:0-255,256-511,512-767,768-1023,然后对字符串(或子串,由用户自定义)做 hash, hash 结果对 1024 取模,最终得出的结果 slot落入哪个区段,便路由到哪个分库。
看起来分片算法很简单,但我们需要按照订单 ID 查询订单信息时依然需要路由四个分片,效率不高,那么如何优化呢 ?
答案是:基因法& 自定义复合分片算法。
基因法是指在订单 ID 中携带企业用户编号信息,我们可以在创建订单 order_id时使用雪花算法,然后将 slot的值保存在 10位工作机器 ID里。
通过订单 order_id 可以反查出 slot, 就可以定位该用户的订单数据存储在哪个分片里。
Integer getWorkerId(Long orderId) { Long workerId = (orderId >> 12) & 0x03ff; return workerId.intValue();}
下图展示了订单 ID 使用雪花算法的生成过程,生成的编号会携带企业用户 ID 信息。
解决了分布式 ID 问题,接下来的一个问题:sharding-jdbc 可否支持按照订单 ID ,企业用户 ID 两个字段来决定分片路由吗?
答案是:自定义复合分片算法。我们只需要实现 ComplexKeysShardingAlgorithm类即可。
复合分片的算法流程非常简单:
1.分片键中有主键值,则直接通过主键解析出路由分片;
2.分片键中不存在主键值 ,则按照其他分片字段值解析出路由分片。
既然做了分库分表,如何实现平滑扩容也是一个非常有趣的话题。
在数据同步之前,需要梳理迁移范围。
1.业务唯一主键;
在进行数据同步前,需要先梳理所有表的唯一业务 ID,只有确定了唯一业务 ID 才能实现数据的同步操作。
需要注意的是:业务中是否有使用数据库自增 ID 做为业务 ID 使用的,如果有需要业务先进行改造 。另外确保每个表是否都有唯一索引,一旦表中没有唯一索引,就会在数据同步过程中造成数据重复的风险,所以我们先将没有唯一索引的表根据业务场景增加唯一索引(有可能是联合唯一索引)。
2.迁移哪些表,迁移后的分库分表规则;
分表规则不同决定着 rehash 和数据校验的不同。需逐个表梳理是用户ID纬度分表还是非用户ID纬度分表、是否只分库不分表、是否不分库不分表等等。
接下来,进入数据同步环节。
整体方案见下图,数据同步基于 binlog ,独立的中间服务做同步,对业务代码无侵入。
首先需要做历史数据全量同步:也就是将旧库迁移到新库。
单独一个服务,使用游标的方式从旧库分片 select 语句,经过 rehash 后批量插入 (batch insert)到新库,需要配置jdbc 连接串参数 rewriteBatchedStatements=true 才能使批处理操作生效。
因为历史数据也会存在不断的更新,如果先开启历史数据全量同步,则刚同步完成的数据有可能不是最新的。
所以我们会先开启增量数据单向同步(从旧库到新库),此时只是开启积压 kafka 消息并不会真正消费;然后在开始历史数据全量同步,当历史全量数据同步完成后,在开启消费 kafka 消息进行增量数据同步(提高全量同步效率减少积压也是关键的一环),这样来保证迁移数据过程中的数据一致。
增量数据同步考虑到灰度切流稳定性、容灾 和可回滚能力 ,采用实时双向同步方案,切流过程中一旦新库出现稳定性问题或者新库出现数据一致问题,可快速回滚切回旧库,保证数据库的稳定和数据可靠。
增量数据实时同步的大体思路 :
1.过滤循环消息
需要过滤掉循环同步的 binlog 消息 ;
2.数据合并
同一条记录的多条操作只保留最后一条。为了提高性能,数据同步组件接到 kafka 消息后不会立刻进行数据流转,而是先存到本地阻塞队列,然后由本地定时任务每X秒将本地队列中的N条数据进行数据流转操作。此时N条数据有可能是对同一张表同一条记录的操作,所以此处只需要保留最后一条(类似于 redis aof 重写);
3.update 转 insert
数据合并时,如果数据中有 insert + update 只保留最后一条 update ,会执行失败,所以此处需要将 update 转为 insert 语句 ;
4.按新表合并
将最终要提交的 N 条数据,按照新表进行拆分合并,这样可以直接按照新表纬度进行数据库批量操作,提高插入效率。
扩容方案文字来自 《256变4096:分库分表扩容如何实现平滑数据迁移》,笔者做了些许调整。
sharding-jdbc 的本质是实现 JDBC 的核心接口,架构相对简单。
实战过程中,需要配置数据源信息,逻辑表对应的真实节点和分库分表策略(分片字段和分片算法)
实现分布式主键直接路由到对应分片,则需要使用基因法 & 自定义复合分片算法。
平滑扩容的核心是全量同步和实时双向同步,工程上有不少细节。
实战代码地址:
https://github.com/makemyownlife/shardingsphere-jdbc-demo
参考资料:
256变4096:分库分表扩容如何实现平滑数据迁移?黄东旭:分布式数据库历史、发展趋势与 TiDB 架构如果我的文章对你有所帮助,还请帮忙点赞、在看、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!
楼市3·15,深圳网红盘接连翻车,这些业主气哭了
2023-03-153月14日北向资金增持10 67万股华懋科技。近5个交易日中,获北向资金增持的有2天,累计净增持38 41万股...
2023-03-151、瑞安大桥又称飞云江三桥,桥长2956米,宽33米,双向六车道,南岸为瑞安市飞云镇塘头村,北岸为瑞安市...
2023-03-14咋办?刚交上一万多元,养老院老板突然“失联”
2023-03-14据共同社14日消息,日本大阪举行了首次由飞行员驾驶操纵的“空中飞行汽车”试飞活动
2023-03-141、三个承气汤区别为:组成不同、主治不同、出处不同。2、一、组成不同附方1承气汤:附方1承气汤的组成...
2023-03-14近日,我们从相关渠道获悉,全新一代奔驰GLC(参数丨图片)将于3月30日正式上市,据悉,新车将会率先推...
2023-03-14一、公司介绍2005年06月14日,贵州省软件工程研究中心有限责任公司(以下简称公司)系经贵州省发改委、科...
2023-03-14春天该吃这6种黄金蔬菜,千万别错过!帮你解油腻,恢复元气
2023-03-141、人面不知何处去,桃花依旧笑春风-崔护-《题都城南庄》狂风落尽深红色,绿叶成阴子满枝-杜牧-《叹花》春
2023-03-141、1默认浏览器首页被进程未设置自行更改,是被流氓软件篡改了。2、2应及时扫描电脑插件,检测出恶评插...
2023-03-13近日,在2023年欧洲放射学大会上,联影医疗发布全球首款5 0T人体全身磁共振系统uMRJupiter和类脑技术平台uA
2023-03-131、 现在的父母都把自己的孩子当成宝贝来宠,因此总会给孩子购买一些质量好款式好看的童装,下面小编...
2023-03-13IT之家3月12日消息,三星GalaxyWatch的一大设计亮点就是物理旋转表圈,不过三星在去年的GalaxyWatch5系...
2023-03-13迎大运·乐动蓉城——第五届成都街头艺人露营音乐季开唱
2023-03-131、黑虎虾200克。准备使用。2、用厨房纸吸干虾身上附着的多余水分,备用。3、把虾换成刀。沿着虾的背部...
2023-03-131、世界上第一台机器人是在1959年,由享有“机器人之父”美誉的恩格尔伯格先生发明的。2、拓展资料机器...
2023-03-13今天小编肥嘟来为大家解答以上的问题。新巨人城废墟可以刷什么武器,新巨人城废墟攻略相信很多小伙伴还...
2023-03-131、金鼠尾巴翘,新春祝福到,身体不感冒,健康最重要,安全放鞭炮,全家齐欢笑,鸿运当头照,吉祥怀中抱...
2023-03-12比大巴黎强?奥格斯堡社媒放图:我们进了拜仁3球巴黎进0球,拜仁,德甲,大巴黎,奥格斯堡队
2023-03-12这两天,全国政协十四届一次会议第三场“委员通道”、十四届全国人大一次会议第三场“代表通道”相继开...
2023-03-12中信铁矿,中信矿业这个很多人还不知道,现在让我们一起来看看吧!1、中信矿业科技发展有限公司是2009-05...
2023-03-12什么颜色钱包聚财女,什么颜色钱包聚财这个很多人还不知道,现在让我们一起来看看吧!1、,送白色,棕色...
2023-03-12西秀区气象台发布雷电黄色预警信号【Ⅲ 较重】【2023-03-11】
2023-03-121、英国的国家教会及安立甘宗(AnglicanCommunion)的母教会。基督教于2世纪传入不列颠,后几乎被入侵
2023-03-11全国政协委员,中国电影艺术研究中心研究员皇甫宜川说,有好电影才能有观众,有观众电影才能够生存和发展。
2023-03-111、每次研究生都有入党的名额,研究生阶段入党比本科阶段容易。毕竟已经有一部分党员了,竞争压力较小。...
2023-03-11张常宁还会回归吗?目前从中国女排传来了消息,由于今年将会有奥运资格赛的比赛,而排协争取到了其中的...
2023-03-111、715的数字根是——7+1+5=13,1+3=4。2、4谐音“思”,3个音符可以构成一段美妙的音乐,那么3段时间也能
2023-03-111、《土豆》是四川文学家白连春所作的一首现代诗。本文到此结束,希望对大家有所帮助。
2023-03-111、游戏王卡组系列之一,首次登场于第8期第7弹OCG补充包“LEGACYOFTHEVALIANT”(LVAL)
2023-03-11上海社保缴纳比例表2022-2023年,2023年上海社保缴费标准基数及比例一览表(2023年个人社保缴费标准表)20...
2023-03-101、《冰冷长街》是台湾著名歌手王杰在1991年11月30日演唱的一首歌曲,由台湾著名歌手王杰作词,德国Bonfir
2023-03-10九江永修县:奏响项目建设的“春天序曲”
2023-03-10淘宝卖家怕什么举报,淘宝怎么防举报,淘宝防举报软件,淘宝防拍防举报很多人还不知道,现在让我们一起...
2023-03-101、1、鸡蛋炒好压碎凉凉备用。2、鸡蛋的挑选:看外观,蛋壳上有沙点的鸡蛋最好不要买,因为它的蛋壳薄,...
2023-03-103月10日,生意社硫磺基准价为1223 33元 吨,与本月初(1116 67元 吨)相比,上涨了9 55%。硫磺年度统计(2022-03-10--2023-
2023-03-101、这主要与个人的消化能力和食量有关。2、一般吃柿子后吃螃蟹至少要2个小时。3、螃蟹含有丰富的蛋白质...
2023-03-101、容量为2~5kg的滚筒知洗衣机的尺寸一般为600*550*600mm,2、容量为5kg~6kg的滚筒洗衣机的尺寸约为
2023-03-101、你好,在你的另一个问题发送了合金弹头合集给你。2、所以,回答你的这个一个问题就发送另一个类似的...
2023-03-10“新能源汽车就是iPhone,而传统油车都是诺基亚。”随着汽车产业迈入“软件定义汽车”的主流时代,新能...
2023-03-09本文转自【央视新闻客户端】;当地时间3月9日,据波兰广播电台报道,斯洛伐克国防部长雅罗斯拉夫·纳吉...
2023-03-091、男国少年梦。本文到此分享完毕,希望对大家有所帮助。
2023-03-09本期债券简称21保利03,发行金额为10亿元,票面利率3 65%,将在2023年3月17日兑付年息。
2023-03-09智通财经APP获悉,据TrendForce集邦咨询研究统计,随着安森美(ON US)、英飞凌(IFNNY US)等与汽车
2023-03-09旅行可以是一种令人兴奋和愉快的体验,但计划旅行往往会让人感到压力大、耗时,而且最终会带来糟糕的结...
2023-03-091、就是一切从头开始。本文到此分享完毕,希望对大家有所帮助。
2023-03-093月6日晚一场街头“春日演奏会”闪现在珠江岸边、广州塔下人民日报新媒体“青春号”主题列车始发站的这...
2023-03-09国家统计局今天发布了2023年2月份全国CPI(居民消费价格指数)和PPI(工业生产者出厂价格指数)数据。对...
2023-03-091、大马士革钢的识别古今许多刀剑都标称其采用“大马士革钢”。2、其实,真正的大马士革钢并不多见,通...
2023-03-09双杀巴黎晋级欧冠8强,于帕:不认为巴黎给我们制造了问题欧冠1 8决赛次回合,拜仁2-0巴黎,拜仁两回合...
2023-03-09欢迎观看本篇文章,小升来为大家解答以上问题。柿子不能和什么东西不能一起吃,哪些食物不能和柿子一起...
2023-03-091、阳极氧化是在铝及其合金表面上生成装饰及保护膜的一种过程从原理上讲,在铝上形成氧化膜的过程实际就...
2023-03-081、共轭效应复(conjugatedeffect),又称离域效应,是指共制轭体系中由于原子间的相互影响而使体系内的π...
2023-03-081、《系统辩识与自适应控制》是2003年重庆大学出版社出版的图书,作者是杨承志、孙棣华、张长胜。2、本...
2023-03-081、南京市上元中学始建于1986年,是著名的江宁县学校。2、2001年因南京市区划调整,学校更名为南京市上...
2023-03-08截至2023年3月8日收盘,中自科技(688737)报收于41 85元,上涨0 65%,换手率1 12%,成交量5151 87手,成交额2124 27万元。
2023-03-08支招:提出建议或解决问题的方法,原用于棋类,应该有儿话,支招儿,招式的简称。支招近义词:1、建议,通...
2023-03-08八旬老人迷太极义务教授二十年孙杰苏凤兰在孟村回族自治县文化广场、体育馆,经常能看到一个白发老人练...
2023-03-08连衣裙的色彩颇多,暗色系相对来说不会太过挑剔肤色,可以让女生轻松驾驭。如果想要穿出招摇的感觉,那...
2023-03-081、排列组合是组合学最基本的概念。2、所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序...
2023-03-08金融科技支持债券市场基础设施建设,助力债券市场平稳、高效发展和业务创新。金融基础设施拓展金融科技...
2023-03-081、全球邮是佑友系列邮件网关产品中的一种邮件系统的辅助功能。2、能解决退信的问题。文章到此就分享结...
2023-03-081、腹泻可能是胃肠消化不良、饮食不当、胃肠功能紊乱引起的。2、也可能是受凉引起的。3、腹泻期间注意饮...
2023-03-081、康熙是清朝第四位、清军入关后第二位皇帝清圣祖爱新觉罗·玄烨的年号。康,安宁;熙,兴盛,取万民康...
2023-03-081、第二张是亚妮至于第一张。2、莫非是三爷!。本文就为大家分享到这里,希望小伙伴们会喜欢。
2023-03-08撰文|因客编辑|杨博丞题图|ICPhoto日前,超大规模数据中心运营商及综合服务提供商秦淮数据出现了在媒体...
2023-03-071、受审的俊国道出真相,他指认修夏刺伤了彗星。看到法院以杀人未遂的罪名寄来的传票,修夏决定坦然面对...
2023-03-07《雪中悍刀行》中境界划分为九品制,从小到大九品至一品。二品算是小宗师,在江湖上已经很是吃香了。一...
2023-03-07电影《我愿意》片尾曲叫《IDo》。《IDo》是由歌手SirsaShekim演唱,2012-02-07发行在同名专辑《IDo》里...
2023-03-071、我也是处女座,男的,洁癖有点而已。2、但房间很乱,我同学经常说我是假处女……(๑ŏ﹏ŏ๑)(╥_╥)...
2023-03-07昨天市场的调整在预期之中。上证指数五连阳之后进行小幅调整,非常
2023-03-071、救国,汉语词语,意思是拯救祖国。2、使其出于危亡。文章到此就分享结束,希望对大家有所帮助。
2023-03-07适用于医疗卫生机构、公共场所和家庭的一般物体表面、医疗器械、医疗废物、食物饮具、织物、果蔬和水等...
2023-03-071、百福美胶原蛋白是一种鱼胶原蛋白。2、是女性营养保健的美容品。文章到此就分享结束,希望对大家有所...
2023-03-07西安这些道路加速建设!最新进展
2023-03-071、糖尿病与高血压均为常见疾病,二者关系密切。2、糖尿病病人中高血压的患病率明显增高,约为非糖尿病...
2023-03-071、金锭桥是21世纪初新修筑的汉白玉三孔石桥。2、位于什刹海东岸的出水口处。3、万宁桥(地安门桥、后门...
2023-03-07北京时间3月6日消息,2023年WTT球星挑战赛果阿站圆满落幕。中国队夺得2个冠军、韩国队夺得了2个冠军,日...
2023-03-071、股指期货(SharePriceIndexFutures),英文简称SPIF,全称是股票价格指数期货,也可称为股
2023-03-07女子算命核桃树挡姻缘家人将树砍掉到底是怎么回事?今天的关注度非常高,直接上了热搜榜,那么具体的是...
2023-03-071、20世纪30年代初,云清镇富家少爷董天福爱上了平民女儿叶子淳。他势利的母亲吴彩云千方百计阻挠她,但...
2023-03-061 打开手机QQ后,我们可以看到下面的导航菜单栏上有四个按钮,其中一个是“观看”2 我们打开侧面菜单...
2023-03-061、打开qq空间,点击客人列表。2、在访客页面点击【我见过谁】。3、想找一个想隐身的朋友,点击右边的三...
2023-03-061、HTCG11(代号:IncredibleS。2、中文昵称:惊艳S)是HTC宏达电于2011年3月推出的一款高端A
2023-03-06通告因中卫市中沟路(宁钢大道以东)路面维修改造工程施工需要,将在下面路段进行路面、桥涵、交安、交...
2023-03-06高中学艺术生的利弊如下:利:1、学艺术总体而言,文化课的分数可以稍微低点,但需要付出更多的精力来应...
2023-03-06今天小编岚岚来为大家解答以上的问题。灵魂伴侣和真爱的区别相信很多小伙伴还不知道,现在让我们一起来看...
2023-03-06汽车已经成了大多数人生活中必备的交通工具了,随着人们对汽车需求量的加大,汽车公司也多了起来。每天都...
2023-03-061、不需要登报的,只要带上税务登记证、组织结构代码证,公章。2、法人章,法人身份证复印件,经办人身...
2023-03-061、英伦名苑户型方正实用,南北通透,实用率较高,别具一格的小跃式单位里,主人房自设衣帽间,凸显主人...
2023-03-061、脚肿应该是静脉出了问题!脚肿了,往往是由于静脉栓塞而引起的。2、静脉中的一些小血管被堵塞住了,血液...
2023-03-06酒市如股市。
2023-03-061、闭月羞花冰肌玉骨才子佳人沉鱼落雁城北徐公齿白唇红愁眉啼妆出水芙蓉绰约多姿淡妆浓抹二八佳人傅粉何郎
2023-03-061、插上电脑,一般是USB接口的。2、然后进入游戏,设置按键里选择手柄,再改一下键位,就能玩了游戏你网...
2023-03-06兔耳朵的帽子很多玩家都比较喜欢,但是对于这个装备的获取方法很多玩家并不太了解,下面就由给大家带来...
2023-03-051、所谓的步行街就是两边宿舍之间的过路,朝向翠湖广场的要好,采光好,而且不用受对面楼房男生的骚扰。...
2023-03-051、精通等级是《魔兽世界》在大地的裂变版本中新加入的一项属性,能够提升玩家的角色在某个天赋下所对应...
2023-03-051、小区位于金盛路北侧,是岔路口的核心地域,是拆迁安置房。2、小区居住人口相对密集,地势平坦,地质...
2023-03-05导读:春季,这种蔬菜比牛奶还补钙!营养易吸收,强壮骨骼,常吃身体健康!钙是我们身体中非常重要的元...
2023-03-05Copyright © 2015-2023 京津冀水产网版权所有 备案号:京ICP备2022022245号-12 联系邮箱:434 922 62 @qq.com