Spring Cloud:使用Ribbon实现负载均衡详解(下)

爱编程的浪子 2019-06-12 14:21:00 阅读数:23 评论数:0 收藏数:0

在上一篇文章(Spring Cloud:使用Ribbon实现负载均衡详解(上))中,我对 Ribbon 做了一个介绍,Ribbon 可以实现直接通过服务名称对服务进行访问。这一篇文章我详细分析一下如何使用 Ribbon 实现客户端的负载均衡。

1. 使用 Ribbon 实现负载均衡

要实现负载均衡,首先要有多个订单服务提供者,目前我们就一个 microservice-order-provider01,端口号 8001,我们可以仿照这个服务,再创建两个子模块,也是订单服务提供者,取名为 microservice-order-provider02,端口号 8002 和 microservice-order-provider03,端口号 8003。

现在三个订单服务有了,再加上 Ribbon 和 Eureka 集群后,系统的架构如下:

Ribbon 是客户端的负载均衡工具,它在服务的消费方,首先三个订单服务 8001、8002 和 8003 都会注册到 Eureka 集群,Ribbon 会先从 Eureka 集群(7001、7002 和 7003)中查询可用的服务列表,然后根据 Ribbon 提供的负载均衡算法,负载均衡的请求可用的订单服务。

Ribbon 默认的负载均衡算法是轮询,也就是按顺序挨个的调用。我们先来搭建一下整个服务架构,上面提到了,首先要拷贝两个订单服务,端口号分别为 8002 和 8003,一起来对比看下三个订单服务的配置文件。

8001 端口的订单服务配置:

# 服务端口号 
server: 
 port: 8001 
 
# 数据库地址 
datasource: 
 url: localhost:3306/microservice01 
# 省略数据库的基本配置 
 
spring: 
 application: 
 name: microservice-order # 对外暴露的服务名称 
 
# 客户端注册进eureka服务列表里 
eureka: 
 client: 
 service-url: 
 defaultZone: http://eureka01:7001/eureka/,http://eureka02:7002/eureka/,http://eureka03:7003/eureka/, 
 instance: 
 instance-id: 书籍订单服务-8001 # 人性化显示出服务的信息 
 prefer-ip-address: true # 访问路径可显示ip地址 

8002 端口的订单服务配置:

# 服务端口号 
server: 
 port: 8002 
 
# 数据库地址 
datasource: 
 url: localhost:3306/microservice02 
# 数据库基本配置省略 
 
spring: 
 application: 
 name: microservice-order # 对外暴露的服务名称 
 
# 客户端注册进eureka服务列表里 
eureka: 
 client: 
 service-url: 
 defaultZone: http://eureka01:7001/eureka/,http://eureka02:7002/eureka/,http://eureka03:7003/eureka/, 
 instance: 
 instance-id: 书籍订单服务-8002 # 人性化显示出服务的信息 
 prefer-ip-address: true # 访问路径可显示ip地址 

8003 端口的订单服务配置:

# 服务端口号 
server: 
 port: 8003 
 
# 数据库地址 
datasource: 
 url: localhost:3306/microservice03 
# 数据库基本配置省略 
 
spring: 
 application: 
 name: microservice-order # 对外暴露的服务名称 
 
 
# 客户端注册进eureka服务列表里 
eureka: 
 client: 
 service-url: 
 defaultZone: http://eureka01:7001/eureka/,http://eureka02:7002/eureka/,http://eureka03:7003/eureka/, 
 instance: 
 instance-id: 书籍订单服务-8003 # 人性化显示出服务的信息 
 prefer-ip-address: true # 访问路径可显示ip地址 

对比后发现,有几个地方需要注意:

  • 对外暴露的服务名称必须要相同,因为都是同一个服务,只不过有多个而已,因为接下来Ribbon是通过服务名来调用服务的;
  • 每个服务连接了不同的数据库,这样用来区分不同的服务,便于测试,实际中也可能是便于维护;
  • 每个服务的个性化名称展示可以区分一下,这样在eureka里可以很好的辨别出来

Eureka 集群还是使用前面的 7001、7002 和 7003,首先我们启动 Eureka 集群,然后分别启动 8001、8002 和 8003 三个订单服务。(友情提示:这里已经启动了6个工程了,如果电脑的性能跟不上的话,可能已经开始卡顿了)。

启动了之后,可以访问下 eureka01:7001,看下三个订单服务是否正常注册到 eureka 集群里。如下图,说明集群和订单服务均正常。

OK,接下来就是重点了,我们启动服务消费方,也就是上一节中的订单消费服务,然后在浏览器输入 http://localhost:9001/consumer/order/get/1 即可查询到对应的订单服务:

{"id":1,"name":"跟着社会一起学 Spring Boot","price":39.99,"dbSource":"microservice03"} 

刷新页面,可以看到,结果如下:

{"id":1,"name":"跟着社会一起学 Spring Boot","price":39.99,"dbSource":"microservice01"} 

再刷新页面,可以看到,结果如下:

{"id":1,"name":"跟着社会一起学 Spring Boot","price":39.99,"dbSource":"microservice02"} 

可以看到,dbsource的值一在 microservice01、microservice02 和 microservice03 之间轮询切换(这个值是我在三个数据库中设置的不同的值,就是为了在这展示,方便看到效果),这就说明了,Ribbon 的负载均衡已经起作用了,客户端会轮询的根据服务名,从 8001、8002 和 8003 之间切换访问,从而达到负载均衡的效果。

同时,也可以看到,Ribbon 的默认负载均衡算法是轮询。

2. 如何指定 Ribbon 的负载均衡策略

由上面的结果可知,Ribbon 默认的策略是轮询,那么 Ribbon 除了轮询,还有哪些负载均衡的策略呢?我们如何去设置自己想要的策略呢?

Ribbon 自带的负载均衡策略有如下几个:

  • RoundRibbonRule:轮询。人人有份,一个个来!
  • RandomRule:随机。拼人品了!
  • AvailabilityFilteringRule:先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,以及并发连接数超过阈值的服务,剩下的服务,使用轮询策略。
  • WeightedResponseTimeRule:根据平均响应时间计算所有服务的权重,响应越快的服务权重越高,越容易被选中。一开始启动时,统计信息不足的情况下,使用轮询。
  • RetryRule:先轮询,如果获取失败则在指定时间内重试,重新轮询可用的服务。
  • BestAvailableRule:先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务。
  • ZoneAvoidanceRule:复合判断 server 所在区域的性能和 server 的可用性选择服务器

如何指定 Ribbon 自带的负载均衡策略呢?我们需要在配置类中指定一下即可,如下:

/** 
* 配置RestTemplate 
* @author shengwu ni 
*/ 
@Configuration 
public class RestTemplateConfig { 
 
 /** 
 * '@LoadBalanced'注解表示使用Ribbon实现客户端负载均衡 
 * @return RestTemplate 
 */ 
 @Bean 
 @LoadBalanced 
 public RestTemplate getRestTemplate() { 
 return new RestTemplate(); 
 } 
 
 /** 
 * 指定其他负载均衡策略 
 * @return IRule 
 */ 
 @Bean 
 public IRule myRule() { 
 // 指定重试策略:先轮询,若获取失败则在指定时间内重试,重新轮询可用的服务。 
 return new RetryRule(); 
 } 
} 

我们可以 new 出以上对应的策略,来实现对应的负载均衡,读者可以 new RandomRule() 测试一下随机策略,然后重复刷新上面的测试地址,可以发现是随机请求三个服务。其他的策略,读者可以自行尝试一下。

读者福利

针对于上面的文章我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

资料获取方式:加qun群:956011797点击立即加入 找管理小姐姐免费获取!

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

 

 


版权声明:本文为[爱编程的浪子]原创文章
转载请带上:http://copyfuture.com/blogs-details/20190612143454378nexdznig4poi7g7
或:https://www.cnblogs.com/Longdingtian/p/11009388.html


  1. 谭咏麟父亲曾代表国足参加奥运会,儿子踢球太差看不下去
  2. 易到办公地“人去楼空”:会迁入新址 确有资金缺口
  3. 近代汉传佛教传奇高僧:圆瑛大师与四大高徒
  4. 浅谈树套树(线段树套平衡树)&学习笔记
  5. iPhone一降价就想买?先别急,等两三个月可能还要降……
  6. Google谈论杀死网址的第一步
  7. 2019年第二部顶级烂剧袭来,又烂出了新境界!
  8. 网站搭建 (第05天) 分类和归档
  9. 面哥试车 我就是C!奔驰C260L 全“芯”轻混动力
  10. 腾讯广告收入增长44%;易烊千玺为纪梵希品牌代言;Facebook爆6亿用户密码可被员工随意读取| Morketing周刊25期
  11. 蔡琳四年婚姻招“变故”?秋瓷炫戚薇纷纷躺枪......
  12. 老北京话和普通话区别在哪?了解这些口语的出处就明白了
  13. 字符串----基础训练(一)
  14. 38岁乐基儿宣布产子喜讯:I love you,Baby!
  15. ubuntu 上 ESP8266 HomeKit 实战(三)设置 iPad 为家居中枢使 ios 设备具备远程控制能力
  16. 父亲为儿踢球卖上海八套房!张玉宁留洋归来战中超盼证明自己!
  17. 真实比例的银河系
  18. 【OS】递归查询和迭代查询理解
  19. 德国巨头、400家美企、100家中企都投资在摩尔多瓦
  20. 被自己教练绝杀!7秒赢3分还有球权,比赛怎么输?来看摆烂队飙戏
  21. 自定义NHibernate映射类型
  22. 华裔大毒枭在澳洲被捕!保释期竟拆电子镣铐逃脱!
  23. 新一代日产骊威实车曝光,变身MPV6座布局,买啥宝骏730!
  24. 设计模式(二):适配器模式和外观模式
  25. 用命令激活win10和office
  26. 美军2020年军费出炉,仅研发费就高达一千多亿?重点研发型号曝光
  27. 低温雨战中的东马终点日本选手纷纷倒地:拼到刺刀剑红的启示
  28. vim 常用快捷键
  29. 2019要全力以赴,做最好的自己,加油!
  30. x86架构——架构基础
  31. FFmpeg开发实战(六):使用 FFmpeg 将YUV数据编码为视频文件
  32. 用Portable.BouncyCastle来进行加解密的代码demo
  33. 服装行业最大黑马:成立仅13年,年营收已超海澜之家、森马
  34. 整改结束,视觉中国网站恢复上线
  35. 广州一的哥被指性骚扰17岁女乘客,涉嫌强制猥亵被警方刑拘
  36. 《都挺好》里面的经典句子,一一给你看看嘛
  37. 深入理解Mybatis技术与原理
  38. 孙俪新剧造型曝光,精致西装上身A爆,网友:快来撩我
  39. 你不知道的JavaScript LHS 和 RHS 查找
  40. 古代打仗的粮道是这样的,难怪一断粮道军队就活不了几天
  41. 春装这么搭,美极了!
  42. 莱温斯基如今过得怎么样?谈及克林顿,她直言:他是一个大撒谎家
  43. 山本五十六的赌技有多高?曾打算为日本赢一艘航母回去
  44. git 入门教程之冲突合并
  45. 滴滴司机全职干了1年,每天流水300多,为什么现在却把车卖了
  46. 随着太阳的演化,人类会转移到火星生存?
  47. 你看Http的 三次握手
  48. 天之骄子亏损入“冷宫”,资产仅剩30亿,这个神话帝国或将灭亡!
  49. 沈南鹏:我投资有六条秘诀,投给京东的钱太少是我最大遗憾
  50. 翟天临的事过不去了,又出现在公务员考试试题中,网友:彻底凉了
  51. 计算机图形学(一)——辐照度学概述
  52. 富力地产 债务压城
  53. 这是我见过的,最漂亮的1只汉米尔顿
  54. 上帝为每一只笨鸟都准备了一个矮树枝,让孩子读读
  55. “京小租”诞生,京东数科打入10万亿租赁市场
  56. 字体反爬(2)
  57. C-Linux_毫秒级随机值获取
  58. 周恩来处置11名美国间谍:惊动联合国
  59. 单例模式
  60. 复合肥价格里的10个猫腻,您知道几个?
  61. 运维笔记之yum,rpm,挂载,磁盘管理和raid详解
  62. 劳拉,贝姐,王阿姨…悉数游戏中那些帅到爆炸的女性角色
  63. 企业大佬年薪起底,刘强东1分,董明珠620万,还有人拿20亿!
  64. 低调的隐形富豪:年赚百亿,20多年坚持不上市,原因是钱够!
  65. 《只狼 影逝二度》剧情剧透:自尽结局和还乡结局终于被挖出来了
  66. 英国纪录片揭露5种常用药的真面目,止痛、止咳、感冒,你真的不需要这几种药!
  67. SSE图像算法优化系列二十八:深度优化局部拉普拉斯金字塔滤波器。
  68. 为何忽必烈死活打不下一个小小的日本?只怪高丽人从中作梗
  69. 数据死,互联网咖啡死
  70. 知识小罐头06(tomcat8请求源码分析 中)
  71. 李世民为何不等到李渊死后再登基?主要因为双方都你情我愿!
  72. FF造车艰难,贾跃亭卖地后又卖楼,自救之路还能走多远?
  73. CentOS 7上的程序管理:rpm、yum和源码编译安装
  74. select 自匹配问题
  75. 继F16后,又一美军杀手锏即将落户新加坡,从此步入五代机时代
  76. 欠款长达数年 供应商声讨华晨雷诺金杯
  77. IG失误送优势VG也赢不了?团队经验差距太大
  78. 中国海军舰艇数量猛增,舷号重新调整或为必然,整体可划分六等级
  79. 任天堂的故事(下):创新引领发展,新世纪迎来全新挑战
  80. 豆瓣3.8分!刘昊然新片首日999万,惨败给“一条狗”,引进片霸榜
  81. 沉寂的夜晚,无尽的思念
  82. 王朝的崛起——曼城是如何改变足球的
  83. 上学后发现,生女儿是上天眷顾,生儿子是上辈子欠债?
  84. 微服务架构下介质管理规范
  85. 篆刻何必独尊秦汉
  86. 新疆只有3个景区,值得你去!
  87. 微信公众号02 接收文本消息、回复文本消息、接入百度翻译功能
  88. 八府巡按也挑食
  89. Spring Cloud:使用Ribbon实现负载均衡详解(上)
  90. “囚禁少女性侵24天”嫌犯龙某和:生活讲究心理变态的光棍男
  91. 2019日本最全樱花季攻略,带你体验不一样的浪漫之美!
  92. 凭什么让你看我朋友圈,我没屏蔽你就应该感谢我了
  93. 小米金融出大事!按时还钱,却遭银行催收,还影响征信,最新回应来了...
  94. 说信任区块链时究竟在信任什么?
  95. 【天下奇闻】“特朗普推文”相册成热门展品 世界最长寿老人白天学这个
  96. 为什么说AN94没有被削弱过?进来看看就知道了!
  97. 前端面试必备的css盒子模型
  98. LeetCode 110. Balanced Binary Tree平衡二叉树 (C++)
  99. 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
  100. 孕晚期,当胎动在这个部位时,就是胎儿入盆了,一般24小时内发动

  1. 前端笔记之NodeJS(一)初识NodeJS&内置模块&特点(1715)
  2. Python开发:部分第三方库无法在线安装解决方法(1521)
  3. Matlab 2019a 安装包下载以及安装和激活(1451)
  4. React 与 React-Native 使用同一个 meteor 后台(1341)
  5. Delphi 开发微信公众平台 (二) 用户管理(1294)
  6. C#读取excel文件提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序(1148)
  7. [深度应用]·实战掌握Dlib人脸识别开发教程(1114)
  8. 币安称 4000 万美元比特币被盗(1092)
  9. 《跃迁-成为高手的技术》之联机学习(1080)
  10. 独家 | 寒武纪二代芯片发布在即,提前解密如何挑战英伟达!(1011)
  11. WebGL three.js学习笔记 纹理贴图模拟太阳系运转(992)
  12. 使用 C 语言实现一个 HTTP GET 连接(978)
  13. 【译】.NET Core 是 .NET 的未来(892)
  14. Sublime Text3 最新版3207 安装及破解(819)
  15. 微软宣布 .NET 5 计划,支持跨平台、移动开发(770)
  16. 科学家在太平洋水域发现奇特的“砷呼吸”微生物(765)
  17. 75条笑死人的知乎神回复,用60行代码就爬完了(753)
  18. 小米有品员工签军令状,自动放弃年终奖!(745)
  19. Linux学习(三):XShell连接虚拟机+开通22端口(742)
  20. 【预警通告】Weblogic反序列化远程代码执行漏洞(738)
  21. layui的table参数条件缓存问题(731)
  22. Visual Studio 2019 正式发布,重磅更新,支持live share(692)
  23. 【预警通告】Apache Tomcat远程代码执行漏洞CVE-2019-0232(675)
  24. SQL简介及MySQL的安装目录详解(650)
  25. 10亿元巨贪山西吕梁原副市长张中生二审维持死刑判决(641)
  26. 5月13日公告精读丨一字跌停后,这只300亿市值的白马股出来澄清了(618)
  27. Vue之路由(608)
  28. 2019年程序员最值得学习的思维利器——任务分解(587)
  29. css-博客样式初体验(567)
  30. 如果想转行学习WEB前端,这样学也许更加利于找工作(561)
  31. 声明与定义的区别(550)
  32. 彭博社:苹果A13芯片即将产量 新iPhone"浴霸"无疑(542)
  33. MongoDB创建数据库和删除数据库05-14学习笔记(495)
  34. PJzhang:Lucifer1993的struts-scan漏洞全量检测工具(494)
  35. K8s集群安装--最新版 Kubernetes 1.14.1(494)
  36. 吴奇隆当爹!前妻马雅舒开心复出拍戏,颜值吸睛气质超赞(491)
  37. 【威胁通告】Oracle全系产品2019年4月关键补丁更新(485)
  38. 英媒:阿里将允许外国零售商在阿里平台上销售商品(477)
  39. Confluence SSRF及远程代码执行漏洞处置手册(473)
  40. 舍命生子产妇吴梦丈夫怒斥:没抢肺源不是精神分裂,网友断章取义(473)
  41. 美方拟升级关税措施?中方:反制!(463)
  42. Visual Studio 2019 正式发布(462)
  43. 香饽饽!米兰双雄均有意荷兰小将贝尔赫韦因(460)
  44. 短视频内容重复,如何伪原创处理(457)
  45. [翻译] Visual Studio 2019: 极速编码. 智能工作. 创造未来.(439)
  46. 绿盟科技互联网安全威胁周报NSFOCUS-19-13(437)
  47. 机器学习 ML.NET 发布 1.0 RC(436)
  48. 刘强东身边的CXO还有谁“幸存”(432)
  49. 阿里巴巴2018年纳税516亿元 同比增40%(428)
  50. 告诉你去越南芽庄必带回的好东西(418)
  51. 宝宝多大可以自己吃饭?错过孩子独立吃饭黄金期,等着后悔吧(407)
  52. 针对django2.2报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: ill....(391)
  53. 小米手机卖不动了?(390)
  54. 太奇葩!买100元债只给1.63元购物券和1.11元现金?网友炸锅:得买多少债券才能换一双鞋(389)
  55. 马光远:全球货币政策进入摇摆期,包括房价的资产价格何去何从(389)
  56. 我司使用了六年的分布式锁(384)
  57. 雷军清华演讲实录:小米9年的创新、变革与未来(382)
  58. 积分一样却选手下败将出战国际赛,《最强大脑》云队选手被坑了?(377)
  59. F#周报2019年第14期(372)
  60. Webpack 4教程 - 第八部分 使用prefetch和preload进行动态加载(371)
  61. Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!(370)
  62. 报告显示:一季度中国家庭总资产缩水而消费支出增加(343)
  63. 《最强大脑》要垮?桑洁魏坤琳出轨细节被扒,戚薇才是神助攻(340)
  64. 他联系叙恐怖分子“卖军火”,称能搞到2000枚导弹,关键时刻中国警察出手(339)
  65. 直认与老公感情淡了!27岁TVB上位女星:我们不是好熟(339)
  66. 谁是苏小明饭局爆粗偷拍者?知情人称另有其人(327)
  67. Oracle甲骨文大规模裁员,你背离时代就会被淘汰(327)
  68. 苹果应用商店被判垄断?然而并没有(324)
  69. 日本明仁天皇退位,日本“平成”年代结束(318)
  70. 华电教授孙玉兵被指与昔日同学共同学术造假,多所高校调查(312)
  71. 迪玛希好惨!昨晚《歌手》为声入人心男团帮帮唱,却再被指控侵权(311)
  72. linux系统安装cdcfordb2udb(309)
  73. 女友被曝插足许志安郑秀文婚姻 知情人透露马国明已下定决心分手(309)
  74. 智慧停车场系统开发建设解决方案(306)
  75. F#周报2019年第15期(299)
  76. shopify网站转化率优化之结账页checkout优化(293)
  77. 真实!这部8.5分的缉毒剧,毒贩公然贿赂警察:80万,把我放出去(285)
  78. 威廉王子出轨凯特王妃闺蜜? 外媒称婚外情致兄弟反目(285)
  79. spring-cloud-sleuth+zipkin源码探究(283)
  80. 深度学习python的配置(Windows)(282)
  81. NodeJs之邮件(email)发送(280)
  82. 许志安出轨视频系蓄谋偷拍?司机被曝收40万装红外摄像头(280)
  83. 赌命生子九个月后,吴梦离世:前半辈子任性了,我用生命买单(280)
  84. 视觉中国深夜道歉:全面配合监管部门彻底积极整改(278)
  85. 新更新kb4493472导致无法正常开机(267)
  86. 韦杰落网,金诚集团终局(265)
  87. 美国各州18年人均GDP排名(附中国各省市区人均GDP排名)(265)
  88. 她做个半永久眉毛就被说整容了?(263)
  89. 【硬盘版】下载利器IDM+优特(uTorrent)BT下载器类(263)
  90. 阿里 EasyExcel 使用及避坑(263)
  91. 机器学习基石笔记:01 The Learning Problem(258)
  92. Google AI 系统 DeepMind 高中数学考试不及格(258)
  93. 华为推出方舟编译器 称可提升安卓系统效率(256)
  94. 张丹峰出轨最新锤来了!毕滢的朋友圈简直刷新下限啊!(255)
  95. 如何设置使chrome新标签页中打开链接自动跳转到新标签页?(254)
  96. TikTok抖音海外版安卓版、ios、网页版多种下载观看姿势~(254)
  97. 山东庆云民企3000亩土地被贱卖 国企接盘拟转性(252)
  98. 不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二(251)
  99. 河南汝州农商行“百万丢款案”调查,两级法院现“判决书打架”(244)
  100. 那些年,我们一起看的毛片(244)

  1. 「解局」习近平此时出访朝鲜,有何深意?
  2. 在北京月薪多少,才能吃得起24.75元/斤的水培蔬菜?
  3. thinkphp整合系列之极验滑动验证码geetest
  4. Java线程之Synchronized用法
  5. 不定个数的输入数字 并做复数运算
  6. 突发!四川宜宾长宁县发生6.0级地震,记者连夜奔赴现场
  7. 长春长生疫苗案新动向!91亿元罚没款将被强制执行
  8. 重写类加载器,实现简单的热替换
  9. Java核心技术梳理-IO
  10. java基础知识入门
  11. spark 机器学习 随机森林 原理(一)
  12. React总述
  13. # 大项目之网上书城(四)——主页(下中)
  14. TypeScript `this` 入参
  15. 绿盟科技互联网安全威胁周报NSFOCUS-2019-24
  16. 正式测定!四川宜宾发生6级地震
  17. 项目测试操作规范
  18. es6入门7--Set Map数据结构
  19. 这个要起诉华为的人啥来头?刚刚说死磕是因为任正非,网友这样说
  20. robotframework - 框架做接口自动化get请求
  21. 吉林珲春1.3级地震原因公布:碎石场两次爆破作业所致,共用6吨炸药
  22. PHP面向对象(二)
  23. SpringBoot整合Swagger和Actuator
  24. Jira集成方式:Cookie方式登录
  25. 高仿富途牛牛-组件化(二)-磁力吸附
  26. 校园表白墙APP使用体验
  27. SpringBoot整合Swagger和Actuator
  28. [hdu517] 小奇的集合
  29. 论编程与武学的相关性
  30. Python 元组
  31. Hibernate事务管理
  32. 京东618发布1-17日战报:低线市场突破 大牌名牌受青睐
  33. springboot如何读取自定义配置项
  34. 报文、报文段、分组、包、数据报、帧、数据流
  35. Qt信号阻塞和断开信号槽
  36. mysql 第三天 实体与实体的关系
  37. mysql 第三天 高级查询
  38. mysql 第三天 group by子句
  39. mysql 第三天 having子句
  40. Python————面向对象高级特性
  41. Java之异常丢失
  42. 2091操作系统引论
  43. 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
  44. 美方指责我军在吉布提“限制国际空域”,外交部:与事实完全不符
  45. 张曼玉再谈梁朝伟,真羡慕她任性妄为的这一生
  46. 在return中使用finally
  47. 深水炸弹!投保香港保险一夜归零,数百投资人、数亿投资打水漂,还倒欠管理费!香港保险神话被打破?
  48. Nginx location匹配规则
  49. 电商、P2P等大型互联网系统包含哪些业务模块?
  50. 【Java源码】集合类-优先队列PriorityQueue
  51. 一篇文章说完Java的垃圾回收过程
  52. Python基础数据类型(五) dict字典
  53. 微信商城小程序 带java后台源码
  54. 封装
  55. SpringBoot + Redis:基本配置及使用
  56. 菜鸟初学 node 推荐 亲测easy
  57. 科学家证实在地球深处的确隐藏着未知磁力源!
  58. 人类虐待机器人遭反杀,网友:心疼机器人
  59. 以色列公司Cellebrite宣称可解锁所有iOS 12设备
  60. 世界第一大岛格陵兰岛出问题:单日融冰量达20亿吨
  61. 龙芯胡伟武:补课18年 未来几年将同国际主流产品竞争
  62. 新能源界首陷“漏电门”奥迪将召回1644辆电动车e-tron
  63. 许家印大笔押注新能源:恒大集团1200亿沈阳投资建厂造车
  64. 亦真亦幻 AI让虚拟世界“触手可感”
  65. 大学社团“拉赞助”成为个人隐私泄露的重灾区
  66. 地量地价,将迎变盘?看看大V怎么说(6月17日)
  67. 富士康科技集团发声明否认“撤离大陆”
  68. 5G来了,需要更换SIM卡吗?
  69. 任正非:遭受打压不会阻止华为前进的步伐
  70. MIT新机器人“成精了” 能通过视觉和触觉识别事物
  71. 让港股小股东买得起?阿里计划分拆普通股:1拆8
  72. 任正非:未来华为业务不会拆分也不会卖掉
  73. 英伟达与ARM打造超级计算机 开发气候预测与核武器建模系统
  74. 任正非:华为不会像高通一样 收那么高的专利费
  75. 渐冻人有望“解冻”
  76. 富士康科技集团声明否认“撤离大陆”:无撤资现象发生
  77. 人体就像马赛克,大量组织充满致癌突变
  78. 超级计算机500强史上首次全部千万亿次!中国神威太湖之光第三
  79. 哈勃太空望远镜观测到有“大心脏”的小星系
  80. 节能超算Green500排行榜公布 NVIDIA笑到了最后
  81. 兴衰成败三百年:俄罗斯数学的光荣与梦想
  82. 任正非:通过科学的数学模型 AI可继承人类智慧
  83. 美国航空机上 WiFi 全面升级为卫星网络,空中上网的体验更好了
  84. 4G的小程序与5G的Chromium OS?
  85. 2249万元!UCloud 中标中移信息技术“异地多活”云平台试点工程
  86. 地球历史的24个转折点
  87. 激光摧毁血液中的癌细胞
  88. 什么是报文
  89. Item
  90. Eclipse 常用快捷键及使用技巧
  91. 2.urllib库的使用
  92. java基础
  93. 【Swift】WKWebView与JS的交互使用
  94. python基础数据类型和初级应用
  95. Echarts 设置 图标 默认平铺 数据为零时绘画
  96. uni-app学习(三)好用的插件1
  97. java 学习第一步---安装JDK以及配置环境变量
  98. Spring Boot:实现MyBatis动态创建表
  99. Django表单
  100. 《七哥说道》【第十四章:趁着夏天还在,回校园】