大项目内训 2023.5.11

目录

分别介绍一下消息处理相关的MQ、WebSocket、分布式事务

介绍一下异步消息传输

如何配置websocket

 ​编辑

 oatpp是什么?

cinatra是什么?

我们教育最大的缺失, 是缺乏阅读、写作和逻辑训练

佳作推荐


分别介绍一下消息处理相关的MQ、WebSocket、分布式事务

        消息处理相关的MQ(Message Queue)、WebSocket、分布式事务是现代分布式应用架构中常见的组件,分别用于异步消息传输、实时双向通信和事务管理。下面是它们的详细介绍:

  1. MQ(Message Queue):消息队列是一种用于异步消息传输的解决方案,可以在不同的应用程序和服务之间传输数据。它主要用于解耦、异步和可靠性传输等场景。当一个应用程序需要发送消息给其他应用程序时,它可以将消息发送到消息队列中,然后其他应用程序可以从消息队列中读取消息并处理它。消息队列通常支持多种消息协议和传输方式,如AMQP、MQTT、Kafka等。

 

A message queue is a form of asynchronous service-to-service communication used in serverless and microservices architectures. Messages are stored on the queue until they are processed and deleted. Each message is processed only once, by a single consumer.

  1. WebSocket:WebSocket是一种用于实时双向通信的解决方案,允许在浏览器和服务器之间建立持久化连接,实现实时消息交换和数据传输。相比于HTTP协议的请求-响应模式,WebSocket可以实现服务器向客户端主动发送消息,同时也可以由客户端向服务器发送消息。它主要用于实时通信、在线游戏、在线聊天等场景。

 

  1. 分布式事务:分布式事务是一种用于管理跨多个数据库或应用程序的事务的解决方案,用于保证分布式系统中的数据一致性和完整性。在分布式系统中,由于数据被分散在不同的节点上,一个操作可能会影响多个节点上的数据,因此需要一种机制来确保所有节点上的数据都能被正确地更新或回滚。常见的分布式事务解决方案包括2PC、TCC、Saga等。

导入依赖

websocket

 

 如何获取到连接对象

 

介绍一下异步消息传输

异步消息传输是一种基于事件驱动的消息传递机制,用于在系统组件之间异步传递消息。在异步消息传输中,发送方向消息代理发送消息,然后可以立即继续执行其他操作,而不需要等待接收方确认收到消息。消息代理负责将消息路由到目标组件,并确保消息的可靠传输。

异步消息传输通常用于分布式系统中,以解耦系统组件,提高系统的可伸缩性和可靠性。例如,一个系统可能包含多个服务,这些服务在不同的物理服务器上运行,通过异步消息传输可以将服务之间的通信解耦,提高系统的可伸缩性和可靠性。

异步消息传输的优点包括:

  • 解耦:发送方和接收方之间的通信解耦,提高系统的可维护性和可扩展性。
  • 可靠性:通过消息代理确保消息的可靠传输,避免了网络故障和服务宕机等问题。
  • 弹性:异步消息传输可以处理高并发和高负载情况,保证系统的高可用性。
  • 扩展性:异步消息传输可以轻松地扩展到多个节点,以支持更大的负载。

异步消息传输的缺点包括:

  • 复杂性:异步消息传输需要更多的设计和开发工作,以确保消息的正确处理。
  • 调试:异步消息传输在调试时可能会比同步传输更具挑战性,因为消息传递通常是异步的。
  • 性能:异步消息传输可能会引入额外的延迟,因为消息传递是异步的,需要等待消息代理将消息路由到接收方。

如何配置websocket

配置 WebSocket 的步骤如下:

1.创建 WebSocket 服务器程序并指定端口号(一般为 80 或 443)。

2.在服务器上设置 HTTP 请求处理程序以处理 WebSocket 协议握手请求。这通常涉及检查请求头以查看它们是否符合 WebSocket 规范,并使用特定的响应头返回确认。

3.建立 WebSocket 连接后,客户端和服务器可以交换消息。WebSocket 协议支持文本和二进制消息。

4.关闭 WebSocket 连接时,服务器应该发送一个关闭帧给客户端,以通知客户端连接已关闭。

在具体实现中,可以使用现有的 WebSocket 库或框架,如 Node.js 中的 ws、Python 中的 WebSocket、Java 中的 Java-WebSocket 等。这些库通常提供简单易用的接口和示例代码,使得配置 WebSocket 变得相对容易。

 

 

 

解析消息,消息格式,消息内容

拆分,“::”

产出两个数据


 

 

 

 

 oatpp是什么?

oatpp是一个C++ Web框架,用于构建高性能、可扩展且易于维护的Web服务。它支持HTTP/1.1和HTTP/2协议,并提供了一组工具和库,用于开发Web服务和API,包括路由、数据序列化、日志记录、测试、ORM、WebSocket等。oatpp的设计目标是提供一种易于使用的Web框架,同时保持高性能和可扩展性,它采用现代C++标准和最佳实践,以简单、高效和安全的方式开发Web应用程序。

cinatra是什么?

Cinatra是一个基于C++11标准的高性能Web框架,它使用了现代化的C++语言特性,如lambda表达式、智能指针等,同时支持RESTful API和WebSocket。Cinatra具有轻量级、简单易用、高性能等特点,它的设计目标是为了提供一种快速构建Web应用的工具,尤其适合需要高性能和实时交互的场景,比如游戏服务器、物联网等领域。Cinatra还支持多种平台和编译器,包括Windows、Linux、MacOS等操作系统,以及Visual Studio、GCC、Clang等编译器。

我们教育最大的缺失, 是缺乏阅读、写作和逻辑训练

随着近年海外教育热潮兴起,以美国部分精英大学和文理学院为代表的通识教育理念逐渐为国人了解。近年来国内一批知名高校也纷纷推出了自己的通识教育计划,如北京大学的元培学院、复旦大学的住宿书院、浙江大学的竺可桢学院等。那么什么是通识教育?

“通识教育”也常作“博雅教育”,对应的英文表述都是“Liberal arts education” , 在中文里却常被误解为文科教育。实际上“Liberal Arts”源自拉丁文“artes liberales”,意为“自由人的技艺”,目的是培养足以参与城邦公共生活的自由人。

在中世纪的欧洲大学里,这种教育被概括为“自由七艺”:文法、逻辑、修辞、几何、天文、算术、音乐。其中文法、逻辑和修辞这三艺(trivium)是核心,其余四艺(quadrivium)则是高阶课程。

与通识教育相对的,是强调学以致用的专业教育或职业教育,无论目标职业是否光鲜亮丽。接受了通识教育的学生当然可以选择去硅谷或华尔街,但以去硅谷或华尔街为目标的高等教育一定不是通识教育。

笔者本科就读于北京大学元培学院,当时还叫“元培实验班”。顾名思义,元培本是北大模仿美国精英大学的一次实验,初衷在于为全校推行通识教育铺路。

招生简章将元培的特色表述为:低年级通识教育,高年级宽口径的专业教育,学生原则上自由选择专业。新生教育第一课,院长叮嘱我们记住四个字:君子不器。元培学院的通识教育理念无疑带有激动人心的理想主义色彩,然而理想和现实之间到底有多大落差呢?

通识课程的边缘化

无论“通识”还是“博雅”,字面上都强调知识广博。中国大学在开展通识教育时,一个常见做法是要求学生选修本专业之外的课程。北大开设了五大类通选课程,涵盖了数学与自然科学,社会科学,哲学与心理学,历史学,语言学、文学与艺术,学生必须在每类中至少完成一门课程方能毕业。

这种做法部分参考了美国精英大学的课程表,其中最知名的当属芝加哥大学为低年级学生的“核心课程”。核心课程包括人文学科、数学和自然科学、社会科学三大类科目,强调西方古典人文传统、经典阅读和批判性写作,负担重,标准高,绝不是学生可以在专业课程之外稍加努力即可过关的,因此芝大的学生实际在第三年才开始将全部精力放在主修课程上。

相比之下,一个北大学生毕业需要完成140学分,而通选课程仅占16学分,其余的是专业必修课、专业选修课、英语课、政治课。低年级时学生的大部分精力耗费在专业课程上,到了高年级则忙于实习、找工作、申请海外研究生院和毕业论文,大学的有效教学时间实际上只有三年。

北大老师为通选课投入了相当的热忱和心力,执教通选课的老师不乏国内相关领域的一流学者,但缺乏核心课程这一制度保障,意味着通选课至多是专业课之余的调剂,元培的学生并没有特殊待遇。

大学课程的深度至少和广度同样重要。如果说知识的广度可以通过积极的自主阅读来弥补,那么清晰、精确、审慎、自洽这些珍贵的思维特质是很难在无人引领的情况下培养出来的。假如老师教学如蜻蜓点水,学生上课浮于表面,那么不管是专业课还是通选课,对学生的训练都是有限的。

一般来说,美国顶尖大学的学生每学期需要完成三到四门课程,但每门课程会附带可观的作业和阅读,而中国大学生的普遍一学期要学习八到十门课程。中国大学生并不比美国同龄人更努力,课程数目加倍,只能牺牲完成质量,每学期的一两门通识课完全有可能沦为形式主义。

佳作推荐

《被淹没和被拯救的》

普里莫·莱维

9.3(5004人评价)

本书是意大利最具知识分子良心的天才作家普里莫•莱维的最后作品。莱维以生命完成了对纳粹暴行的见证,他的简明易懂的作品是对生活奇妙的赞颂,证明了人类的精神无法被战胜,以及人类通过富有意义的作品、道德和艺术击败死亡的能力。

人们一定记得,当时距离奥斯维辛解放仅仅过去了15年:我这本书的读者正是“那些人”,而不是他们的继承者。之前他们是压迫者或冷漠的旁观者,而现在他们将是我的读者:我要将他们逼进困境,把他们绑在镜子前。算账的时刻到了,摊牌的时刻到了,而最重要的,对话的时刻到了。

《从一到无穷大》

G. 伽莫夫

9.1(13247人评价)

《从一到无穷大:科学中的事实和臆测》是当今世界最有影响的科普经典名著之一,1970年代末由科学出版社引进出版后,曾在国内引起很大反响,直接影响了众多的科普工作者。

作品以生动的语言介绍了20世纪以来科学中的一些重大进展。先漫谈一些基本的数学知识,然后用一些有趣的比喻,阐述了爱因斯坦的相对论和四维时空结构,并讨论了人类在认识微观世界(如基本粒子、基因)和宏观世界(如太阳系、星系等)方面的成就。

《渴望生活:凡·高传》

欧文·斯通

9.1(11350人评价)

《渴望生活:梵高传》是“传记小说之父”欧文·斯通的经典代表作。

温森特·梵高,一个为视艺术为信仰,以生命为火把,在暗影重重的人世间负重前行的探寻者。众所周知,梵高去世后才声名鹊起。追溯真正将梵高的文化影响力放大到整个社会的原因,绕不开欧文·斯通这本感动世人的传记小说《渴望生活》。

1927年春,年仅24岁的欧文·斯通在巴黎看到温森特·梵高的画展。那一年梵高去世刚刚37年,美国公众尚不知道这位荷兰画家。梵高的画作令斯通震撼不已:“进入了一个新的境界,整个世界豁然开朗。”“一切生命的有机成分都融合在一起,成为一个伟大崇高的统一体。”这位画家是个什么样的人?于是斯通细读梵高与弟弟的信件,“肩背旅行袋,走遍了欧洲,住在温森特曾经居住和作画的每一处房屋,跋涉在布拉邦特和法国南部的田野上,寻觅温森特曾经安插画架,把大自然变成不朽艺术的确切地点”。回到纽约的公寓后,六个月内四易其稿完成本书。

文章参考:

我们教育最大的缺失, 是缺乏阅读、写作和逻辑训练

这几本9分好书,你看了几本?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值