Spring Boot

如何快速获得高并发编程经验?PCC性能挑战赛作品简介及源代码

纵然是瞬间 提交于 2020-11-08 04:50:17
如何快速获得高并发编程经验?PCC性能挑战赛作品简介及源代码 PCC 是 Performance Challenge Championship (性能挑战杯)的缩写,是高可用架构后花园会员在线上组织的一个活动,由于反响热烈,考虑到线下进行可以更好的加深对高并发编程的理解,于是高可用架构在 3 月组织了本次 PCC 活动。 对于工程师来说,参加 PCC 编程挑战赛的部分意义: 体验完成一个技术小目标。高性能系统如何实现应当是每个工程师需要走的路。 学习优秀的架构方法,隔壁老王用的设计思想,可能你坐在办公室永远也无法想到。 有经验评委的点评,了解真实环境的高并发系统的追求目标。 类似主题、有同样级别参赛队员及评委参加的编程活动,可能仅此一次。 比赛方法说明 实现类似 facebook 中的 like 功能,需要: 可以对一个对象(一条feed、文章、或者url)进行 like 操作,禁止 like 两次,第二次 like 返回错误码 有 isLike 接口,返回参数指定的对象有没有被当前用户 like 过 需要看到一个对象的 like 计数 可以看到一个对象的 like 用户列表(类似 QQ 空间); 上述列表加分项:Like优先显示我的好友列表(social list)。 数据量:每天新增的 like 对象数为 1 千万,每秒 like 计数器查询量为 30 万次 / 秒。 比赛盛况

Java 只有值传递!为什么?

若如初见. 提交于 2020-11-08 04:17:49
转自公众号:程序控 面试官爱问的一个基础问题: Java是值传递还是引用传递? 想必大家都对这个问题都有自己的看法,那到底事实是怎样的,我们又该如何回答面试官这个问题呢?今天咱们就来好好分析一波 值传递?引用传递? 首先,我们得先知道什么叫 值传递 ,什么叫 引用传递 ,知道这个才能理解Java到底如何做的。若想理解这两种传递需要先理解形式参数和实际参数两个概念 形式参数: 定义函数时使用的参数,用来接收函数传入参数,比如我们写个函数,函数中的参数为形式参数 (String str) { System..println(str)} 实际参数: 我们调用函数时,函数名后面括号中的参数称为实际参数,如下面例子所示 (String[] args) { A a = A()a.test()} 可以发现,当调用一个有参函数的时候,会把实际参数传递给形式参数;于是这个传递的过程便有两种情况,即 值传递和引用传递 值传递就是把参数的值给你,调用函数时将实际参数复制一份传递到函数中,这样函数内部对参数内部进行修改不会影响到实际参数;而引用传递就不一样了,它直接把参数的实际地址给调用函数了,函数内部可直接修改该地址内容,会影响到实际参数 我来举个例子,我司有一个数据库A,仅允许内部人员操作,现在有个项目需要和别的公司合作,该数据库的数据需要交给合作公司一份,我总不能直接把我司数据库A地址给他们

未读消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~

自闭症网瘾萝莉.ら 提交于 2020-11-07 17:10:59
前几天粉丝群里有个小伙伴问过: web 页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。 之前在 《springboot + rabbitmq 做智能家居》 中说过可以用 rabbitmq 的 MQTT 协议做智能家居的指令推送,里边还提到过能用 MQTT 协议做 web 的消息推送,而未读消息( 小红点 )功能刚好应用到实时消息推送了。 MQTT 协议就不再赘述了,没接触过的同学翻翻前边的文章温习一下吧,今天还是主要以实践为主! web 端实时消息推送,常用的实现方式比较多,但万变不离其宗,底层基本上还是依赖于 websocket , MQTT 协议也不例外。 RabbitMQ 搭建 RabbitMQ 的基础搭建就不详细说了,自行百度一步一步搞问题不大,这里主要说一下两个比较重要的配置。 1、开启 mqtt 协议 默认情况下 RabbitMQ 是不开启 MQTT 协议的,所以需要我们手动的开启相关的插件,而 RabbitMQ 的 MQTT 协议分为两种。 第一种 rabbitmq_mqtt 提供与后端服务交互使用,对应端口 1883 。 rabbitmq-plugins enable rabbitmq_mqtt 第二种 rabbitmq_web_mqtt 提供与前端交互使用,对应端口 15675 。

SpringBoot 开发案例之接入腾讯云短信

可紊 提交于 2020-11-07 11:54:22
简介 腾讯云短信(Short Message Service,SMS)沉淀腾讯十多年短信服务技术和经验,为 QQ、微信等亿级平台和10万+客户提供快速灵活接入的高质量的国内短信与国际/港澳台短信服务。 国内短信验证秒级触达,99%到达率。 国际/港澳台短信覆盖全球200+国家/地区,稳定可靠。 申请 只要开通并个人认证就会默认送国内短信100条,白嫖还是很开心的! 签名 签名类型有APP、网站、公众号、小程序,不论是个人还是企业你只要提供相关的证明文件即可。因为撸主本人在腾讯有备案网站,所以直接申请的是网站签名,但是值得注意的是签名必须和网站备案的名称保持一致,否则不予通过。 模板 提交签名申请后,才可创建正文模板。只要不是特别违规的信息一般都能通过。 以上填写完毕,基本在十分钟之内就会收到审核消息,腾讯云的审核速度还是蛮快的。审核通过后会再送你100条免费短信额度,加上之前的100条,测试还是蛮够的! 集成 配置参数: # 腾讯云短信平台 tencentcloud.sms.secretId=********** tencentcloud.sms.secretKey=********** tencentcloud.sms.appId=********** 映射类: /** * 腾讯云短信 */ @Data @ConfigurationProperties(prefix =

膜拜!!阿里p8架构师耗尽多年心血终于整理分享出精通SpringCloud微服架构文档太不容易了!

女生的网名这么多〃 提交于 2020-11-07 09:57:07
前言 Spring Cloud是微服务架构开发的完美解决方案,它是一套分布式服务治理的框架,专注于全局微服务协调整理,可以将各个单独的微服务整合并管理起来,为各个微服务之间提供配置管理、服务发现、断路器、路由、消息代理、事件总线、决策竞选、分布式会话等集成服务。 Spring Cloud本身不提供具体功能性的操作,更专注于服务之间的通信、熔断和监控等,因此就需要很多组件来支持完整功能。 开发、部署和运营云应用程序应该像本地应用程序一样简单。这应该是任何云平台、库或工具背后的管理原则。Spring Cloud可以轻松地为云开发JVM应用程序。 本文将介绍Spring Cloud并帮助开发人员掌握其功能。 本文首先介绍如何配置Spring Cloud服务器并运行Eureka服务器以启用服务注册和发现;然后再深入剖析与负载均衡和断路相关的技术,包括利用Feign客户端的所有功能; 最后讨论和研究高级主题,包括如何为Spring Cloud实现分布式跟踪解决方案并构建消息驱动的微服务架构。 本文将带大家从零开始一步步精通springcloud微服务架构,能够灵活运用到工作中,不断地提升自己的技术深度和宽度,让自己变得更有价值,也希望本文能够帮助到大家的学习!! 目录 主要内容 本文详细阐述了与Spring Cloud微服务框架相关的基本解决方案,主要包括微服务简介、使用微服务的Spring

Prometheus监控告警浅析

ぃ、小莉子 提交于 2020-11-07 00:45:15
前言 最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。 监控架构 Prometheus的整个架构流程可以参考如下图片: 整个流程大致分为收集数据,存储数据,展示监控数据,监控告警;核心组件包括:Exporters,Prometheus Server,AlertManager,PushGateway; Exporters :监控数据采集器,将数据通过Http的方式暴露给Prometheus Server; Prometheus Server :负责对监控数据的获取,存储以及查询;获取的监控数据需要是指定的 Metrics 格式,这样才能处理监控数据;对于查询Prometheus提供了 PromQL 方便对数据进行查询汇总,当然Prometheus本身也提供了Web UI; AlertManager :Prometheus支持通过 PromQL 来创建告警规则,如果满足规则则创建一条告警,后续的告警流程就交给AlertManager,其提供了多种告警方式包括email,webhook等方式; PushGateway

恭喜!1024博客专家TOP 50榜单出炉!

做~自己de王妃 提交于 2020-11-06 23:58:40
文章作者 文章标题 文章链接 A757291228 一篇文带你从0到1了解建站及完成CMS系统编写 https://blog.csdn.net/A757291228/article/details/109252833 baiyuliang2013 SpringBoot入门(一)SpringBoot项目的创建 https://blog.csdn.net/baiyuliang2013/article/details/109250816 BeiisBei 读《离线和实时大数据开发实战》,揭开 Hive 优化实践的神秘面纱 https://blog.csdn.net/BeiisBei/article/details/109255666 boling_cavalry MyBatis初级实战之五:一对一关联查询 https://blog.csdn.net/boling_cavalry/article/details/109020733 dawei_yang000000 微服务[v1.0.0][Spring MVC异常处理机制] https://blog.csdn.net/dawei_yang000000/article/details/109260701 deng_xj 自制微信文件传输助手,实现数据安全传输与存储 https://blog.csdn.net/deng_xj/article

兄弟们,我终于熬出头了!Java开发4年,费时8个月,入职阿里,涨薪14K

非 Y 不嫁゛ 提交于 2020-11-06 23:57:46
前言 你的努力,终将成就无可替代的自己 本科毕业后就一直从事Java开发的工作,和多数人一样,最开始从事crud的工作,看着自己的同学一步一步往上走,自己还是在原地踏步,说实话这不是自己想要的状态。 一年半后开始沪漂生活,又摸爬滚打了一年半,薪资基本上在16K。疫情在家开始了系统的学习,目的就是为了进大厂,得到更多的学习机会,也是为了自己到所谓的“35岁”之后,也能在老家恰一口好饭。 努力也没有白费,8个月时间的系统性学习成功上岸Alibaba,直接涨薪14K,下面分享一下我的学习指南,面试真题以及个人心得体会。(晒一下入职offer) 完整的学习指南以及面试真题可以在转发+关注后, 戳这里免费白嫖,暗号:CSDN 阿里面试真题(3轮技术面 + 1轮HR ) 一面(电话面+后期在线coding) ①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表? ②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到了,使用场景是什么?为什么要使用? ③spirng 源码。 ④rocketMq 的设计理念,数据存储,设计思想等。 ⑤ConcurrentHashMap的底层实现原理 ⑥你线上问题解决经验是什么?遇到了什么问题?应该怎么去解决? ⑦在线编码: 两个有序链表,合并成一个链表,然后进行算法的时间复杂度,空间复杂度分析。 二面(电话面

2020大厂面试秘籍Java岗:中间件+算法+HTTP+线程+虚拟机+分布式,看完再不会我就哭了

自古美人都是妖i 提交于 2020-11-06 23:56:28
前言 很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,有的放矢... 今天在这分享目前国内公司Java面试常问的问题包括JVM虚拟机、常用的算法和数据结构,Redis缓存,分布式,Spring,微服务等。为明年金三银四攻下BATJM等大厂做好准备! 正所谓知己知彼,只有体系知识巩固,面对不断更新的技术才能快速掌握,同时在面试、工作中也更能脱颖而出! 由于篇幅原因,在这答案就不做全部展示了,这些题我已经整理成pdf文档免费分享给那些有需要的朋友,同时整理也花费了蛮多时间,有需要的朋友 基础 String类能被继承吗,为什么 String,Stringbuffer,StringBuilder的区别? ArrayList和LinkedList有什么区别 类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序 用过哪些Map,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如hashcode,扩容等 HashMap为什么get和set那么快,concurrentHashMap为什么能提高并发 抽象类和接口的区别,类可以继承多个类么

SpringBoot 集成 阿里的 FastJson

孤街醉人 提交于 2020-11-06 07:56:40
SpringBoot 集成 fastjson pom.xml 中添加引用 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> 在主类中 @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastJsonHttpMessageConverter; return new