首页 文章 精选 留言 我的

精选列表

搜索[一站式在线联络平台],共10000篇文章
优秀的个人博客,低调大师

一站式开发框架 Go-Spring v1.1.0-rc4 发布

距离上次发版已经三个月了,本次发布的版本应该是 v1.1.0 正式版之前的最后一个 RC 版本。 Go-Spring 的愿景是让 Go 程序员也能用上如 Java Spring 那般威力强大的编程框架。 提供了完善的 IoC 容器,支持依赖注入、属性绑定; 提供了强大的启动器框架,支持自动装配、开箱即用; 提供了常见组件的抽象层,支持灵活地替换底层实现; 3.1 抽象 web 框架,echo 和 gin 可以灵活替换。 3.2 抽象 redis 框架,redigo 和 go-redis 可以灵活替换。 遵循最小依赖原则,部分组件零依赖,避免依赖地狱; 4.1 提供 assert 包,满足日常测试断言的需求。 4.2 提供 cast 包,满足日常数据转换的需求。 4.3 提供 atomic 包,方便并发安全的存取数据。 首创基于框架的流量录制和回放技术,让测试更简单; 实现 Log4J 的日志架构,让日志管理更简单、更强大;

优秀的个人博客,低调大师

后端必备——数据通信知识(RPC、消息队列)一站式总结

我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailclimb/Java-Guide RPC RPC(Remote Procedure Call)—远程过程调用 ,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发分布式程序就像开发本地程序一样简单。 RPC采用客户端(服务调用方)/服务器端(服务提供方)模式, 都运行在自己的JVM中。客户端只需要引入要使用的接口,接口的实现和运行都在服务器端。RPC主要依赖的技术包括序列化、反序列化和数据传输协议,这是一种定义与实现相分离的设计。 目前Java使用比较多的RPC方案主要有RMI(JDK自带)、Hessian、Dubbo以及Thrift等。 注意: RPC主要指内部服务之间的调用,RESTful也可以用于内部服务之间的调用,但其主要用途还在于外部系统提供服务,因此没有将其包含在本知识点内。 常见RPC框架: RMI(JDK自带): JDK自带的RPC 详细内容可以参考:从懵逼到恍然大悟之Java中RMI的使用 Dubbo: Dubbo是 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。 详细内容可以参考: 高性能优秀的服务框架-dubbo介绍 Dubbo是什么?能做什么? Hessian: Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。 详细内容可以参考: Hessian的使用以及理解 Thrift: Apache Thrift是Facebook开源的跨语言的RPC通信框架,目前已经捐献给Apache基金会管理,由于其跨语言特性和出色的性能,在很多互联网公司得到应用,有能力的公司甚至会基于thrift研发一套分布式服务框架,增加诸如服务注册、服务发现等功能。 详细内容可以参考: [【Java】分布式RPC通信框架Apache Thrift 使用总结](https://www.cnblogs.com/zeze/p/8628585.html) 如何进行选择: 是否允许代码侵入: 即需要依赖相应的代码生成器生成代码,比如Thrift。 是否需要长连接获取高性能: 如果对于性能需求较高的haul,那么可以果断选择基于TCP的Thrift、Dubbo。 是否需要跨越网段、跨越防火墙: 这种情况一般选择基于HTTP协议的Hessian和Thrift的HTTP Transport。 此外,Google推出的基于HTTP2.0的gRPC框架也开始得到应用,其序列化协议基于Protobuf,网络框架使用的是Netty4,但是其需要生成代码,可扩展性也比较差。 消息中间件 消息中间件,也可以叫做中央消息队列或者是消息队列(区别于本地消息队列,本地消息队列指的是JVM内的队列实现),是一种独立的队列系统,消息中间件经常用来解决内部服务之间的 异步调用问题 。请求服务方把请求队列放到队列中即可返回,然后等待服务提供方去队列中获取请求进行处理,之后通过回调等机制把结果返回给请求服务方。 异步调用只是消息中间件一个非常常见的应用场景。此外,常用的消息队列应用场景还偷如下几个: 解耦 : 一个业务的非核心流程需要依赖其他系统,但结果并不重要,有通知即可。 最终一致性 : 指的是两个系统的状态保持一致,可以有一定的延迟,只要最终达到一致性即可。经常用在解决分布式事务上。 广播 : 消息队列最基本的功能。生产者只负责生产消息,订阅者接收消息。 错峰和流控 具体可以参考: 《消息队列深入解析》 当前使用较多的消息队列有ActiveMQ(性能差,不推荐使用)、RabbitMQ、RocketMQ、Kafka等等,我们之前提高的redis数据库也可以实现消息队列,不过不推荐,redis本身设计就不是用来做消息队列的。 ActiveMQ: ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 具体可以参考: 《消息队列ActiveMQ的使用详解》 RabbitMQ: RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗 > AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。 具体可以参考: 《消息队列之 RabbitMQ》 RocketMQ: 具体可以参考: 《RocketMQ 实战之快速入门》 《十分钟入门RocketMQ》 (阿里中间件团队博客) Kafka:Kafka是一个分布式的、可分区的、可复制的、基于发布/订阅的消息系统,Kafka主要用于大数据领域,当然在分布式系统中也有应用。目前市面上流行的消息队列RocketMQ就是阿里借鉴Kafka的原理、用Java开发而得。 具体可以参考: 《Kafka应用场景》 《初谈Kafka》 推荐阅读: 《Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别》 欢迎关注我的微信公众号:"Java面试通关手册"(一个有温度的微信公众号,无广告,单纯技术分享,期待与你共同进步~~~坚持原创,分享美文,分享各种Java学习资源。您想关注便关注,,公众号只是我记录文字和生活的地方,无所谓利益。)

优秀的个人博客,低调大师

阿里云中间件产品ARMS公测 实时监控“一站式”解决

日前,阿里云业务实时监控服务(Application Real-Time Monitoring Service,简称ARMS)正式公测,阿里云互联网中间件产品家族在实时监控领域再添利器。ARMS是一款为用户提供端到端一体化实时监控解决方案的PaaS级产品。它为用户屏蔽了复杂的监控计算逻辑,可基于海量数据,为不同行业的用户提供诸如系统监控、商品销售、网站分析等各种场景监控方案的能力,迅速便捷地通过定制化为企业带来秒级业务监控和响应能力。 公测地址:https://www.aliyun.com/product/arms

优秀的个人博客,低调大师

Android 新手实战:从零搭建 WebRTC 在线直播系统

摘要:本文从零开始带你掌握 WebRTC 实时音视频开发的完整链路。文章先通俗拆解 WebRTC 的核心架构与“先协商、后传输”的通信原理,再手把手搭建信令服务器与 STUN/TURN 穿透服务,随后逐步实现呼叫发起方与接收方的完整逻辑,并通过“复刻微信双人视频通话”和“构建拼多多式多人直播带货”两个实战演练,把理论落到可运行的代码。最后针对常见的连接失败报错给出标准排查流程,并分享弱网环境下的码率自适应与抗丢包优化策略,帮助新手避开“本地能跑、外网黑屏”的典型坑。

优秀的个人博客,低调大师

小猫开源-在线考试系统发布 v6.2.0 版本

优化改进:创建考试发布前,支持预览试卷以便检查调整 优化改进:创建考试随机抽题时,及时验证抽题规则有效性(原先需要等到发布,提示无效再返回修改) 优化改进:考试统计恢复错题分析功能 优化改进:考试统计支持答题活跃度分析,辅助评估试卷难度与题量合理性 优化改进:考试统计可查看作弊记录,实现溯源凭证; 优化改进:考试支持试卷水印,实现泄题溯源 优化改进:全库查询试题时,列表页显示题库信息(不知道当前试题属于哪个题库) 优化改进:题库支持回收站功能,误删的试题可以人工恢复(7天内有效) 优化改进:练习支持评论删除,便于维护良好学习氛围 优化改进:考试用户个人中心可查看我的错题 优化改进:考试用户个人中心可查看我的收藏 bug修复:临时考试用户,快速点击登录按钮时,会生成多个相同的试卷(点击登录按钮后不可再次点击,直到返回结果) bug修复:考试禁止浏览器切屏时,如果有主观题上传照片或视频,被判定切屏(上传期间豁免) bug修复:考试禁止浏览器调试时,仍可通过选中文字后拖拽等方式复制 bug修复:选择考试用户时,存在同机构同姓名,无法确定选哪个(增加登录账号区分) bug修复:前端配置后端地址时,概率性不成功(不管是否以斜巷结尾都应该正常使用) bug修复:创建考试选择题库时,题干前的序号显示乱序(计划用试题ID快速查询,但有歧义,改为自然序号) bug修复:前端页面刷新提示找不到favicon.ico(<linkrel="icon"href="data:,">) bug修复:刷新页面时,浏览器的图标和页面标题丢失(路由守卫重置) bug修复:一键安装包安装数据库,一直提示服务已启动 演示地址:http://exam.xiaomaokaiyuan.com/ admin/111111 文档地址:http://examdoc.xiaomaokaiyuan.com/ 源码地址:https://gitee.com/qq1247/xmky-exam

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册