05-MoonBit 编程语言(WASM 技术)服务端应用展望以及对Kubernetes生态的影响MoonBit 编程语言(WASM 技术) 服务端应用展望 以及对Kubernetes生态的影响 沙渺(MoonBit 语言社区开发者) 本分享包含大量目前尚处在早期开发阶段甚至概念阶段, 尚未获得广泛应用的技术。 仅为前景展望,不推荐用于当前立项开发的实际工程。 敬请注意 内容 • WASM 技术栈现状和 WASM 后端应用的构想 • MoonBit 语言介绍 • MoonBit0 码力 | 30 页 | 3.41 MB | 9 月前3
2022年美团技术年货 合辑模型压缩中较为成熟的一个研究方向,然而如何在 Vision Transformer 上实现无损后量化在学界依然是一个没有解决的问题。通过引入高精度 的后量化算法,可以解决 Transformer 结构在服务端部署效率不高、显存占用过大 的落地痛点,同时也为 Mobile Transformer 在移动端设备的落地提供更多可能性。 426 > 2022年美团技术年货 现有的研究方法中比较代表的是华为诺亚方舟实验室的 重启进入录制状态时,用户就可以操作 App,平台会记录用户的操 作行为,当产生相应的埋点日志的时候会将日志信息打印在日志区域(如下图 17 所示),在该过程中也会对埋点日志进行一定的校验。重点将操作时机、埋 点日志一并保存到服务端。 502 > 2022年美团技术年货 图 17 埋点上报数据控制台打印 ● 埋点时机校验:针对时机校验,程序并不支持埋点曝光的”1px 曝光”,”下拉 刷新曝光”,”页面切换曝光”,” 框架,也不必引入第三方依赖包。函数调用链路如下所示,MySQL 优化器调用 Fakeindex 的 C++ 函数,参数转换成 C 语言,然后通过 cgo 调用到 Go 语言的方法,再通过 Go 自带的 RPC 客户端向服务端发起调用。 后端 < 679 调用链路 下面将重点阐述核心逻辑 Go-Server 部分,主要流程步骤如下。 3.1 前置校验 首先根据经验规则,排除一些不支持通过添加索引来提高查询效率的场景,如查系统0 码力 | 1356 页 | 45.90 MB | 1 年前3
Nacos架构&原理
。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。 配置资源模型 Namespace 的设计就是用来进行资源隔离的,我们在进行配置资源的时候可以从以下两个角度来 看: 从单个租户的角度来看,我们要配置多套环境的配置,可以根据不同的环境来创建 例续约)。而对于 Nacos 服务发现注册中的持久化服务,因为所有的数据都是直接使用调用 Nacos 服务端直接创建,因此需要由 Nacos 保障数据在各个节点之间的强⼀致性,故而针对此类型的服务 数据,选择了强⼀致性共识算法来保障数据的⼀致性。 从配置管理来看 配置数据,是直接在 Nacos 服务端进行创建并进行管理的,必须保证大部分的节点都保存了此配 置数据才能认为配置被成功保存了,否则就会 上下文清 理。 Server 之间通信 ○ 单个 Server 需要获取到集群的所有 Server 间的列表,并且为每⼀个 Server 创建独立的长链 接;连接断开时,需要进行重连,服务端列表发生变更时,需要创建新节点的长链接,销毁下 线的节点长链接。 ○ Server 间需要进行数据同步,包括配置变更信息同步,当前连接数信息,系统负载信息同步, 负载调节信息同步等。 Nacos0 码力 | 326 页 | 12.83 MB | 10 月前3
跟我学Shiro - 张开涛loginUrl:https://localhost:8443/chapter15-server/login 表示服务端端登录地址,登录成功后跳 转到?service 参数对于的地址进行客户端验证及登录; “/cas=cas”:即/cas 地址是服务器端回调地址,使用 CasFilter 获取 Ticket 进行登录。 http://tools.ietf.org/html/rfc6749。 服务器端 本文把授权服务器和资源服务器整合在一起实现。 POM 依赖 此处我们使用 apache oltu oauth2 服务端实现,需要引入 authzserver(授权服务器依赖)和 resourceserver(资源服务器依赖)。 其他的请参考 pom.xml。 数据字典 http://open.weibo.com/wiki/授权机制说明 http://open.weibo.com/wiki/微博 API 客户端 客户端流程:如果需要登录首先跳到 oauth2 服务端进行登录授权,成功后服务端返回 auth code,然后客户端使用 auth code 去服务器端换取 access token,最好根据 access token 获取 用户信息进行客户端的登录绑定。这个可0 码力 | 219 页 | 4.16 MB | 10 月前3
ThinkJS 1.2 中文文档的功能默认是关闭的,使⽤用 WebSocket 需要开启下⾯面的配置: 还有下⾯面的配置可以设置: 为了更好的规范浏览器端和服务端之间传送的数据格式,ThinkJS 默认使⽤用 jsonrpc 2.0 的规范,也可以根据项⺫⽬目 数据更改传输的数据格式。 浏览器传送到服务端的数据格式为: WebSocket //WebSocket 配置 "use_websocket": false ⼦子协议,可以是个字符串也可以是回调函数 websocket_message_handle: undefined, //websocket 消息处理函数 JavaScript 数据格式 服务端发送给浏览器端的数据格式为: 浏览器端可以通过下⾯面的⽅方式创建⼀一个 websocket 连接。 这种⽅方式只是创建了个 websocket 连接,不会调⽤用控制器上任何操作。如果要调⽤用控制器上对应的操作,可以⽤用 且传递进去的 http 对象上多了如下的属性: WebSocket 建⽴立连接时还是 HTTP 协议,所以在 Action ⾥里可以取到 cookie,也可以设置 cookie。 // 浏览器发送给服务端的数据格式 var data = { jsonrpc: "2.0", method: "/test/websocket/message"0 码力 | 104 页 | 1.29 MB | 1 年前3
PyWebIO v1.2.3 使用手册task_2]) 使用 path_deploy() 可以从一个路径中部署PyWebIO应用。位于该路径下的 python文件需要包含名字为 main 的PyWebIO任务函数才能被视为PyWebIO应用 程序。服务端会根据用户访问的URL来确定需要加载的文件并从中读取 PyWebIO应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── 关于协程内容属于高级特性,您不必使用此部分也可以实现PyWebIO支持的全 部功能。PyWebIO中所有仅用于协程会话的函数或方法都在文档中有特别说 明。 PyWebIO的会话实现默认是基于线程的,用户每打开一个和服务端的会话连 接,PyWebIO会启动一个线程来运行任务函数。 除了基于线程的会话, 启动aiohttp应用后,访问 http://localhost/tool 即可打开PyWebIO应用 注意 设置的函数被调用时会话已经关闭,所以在函数体内不 可以调用 PyWebIO 的交互函数 pywebio.session.hold() 保持会话,直到用户关闭浏览器。 注解 在PyWebIO会话结束后,页面和服务端的连接便会断开, 页面上需要和服 务端通信才可实现的功能(比如:下载通过 put_file() 输出的文件, put_buttons() 按钮回调)便无法使用。 可以在任务函数末尾处调用 hold()0 码力 | 119 页 | 7.44 MB | 1 年前3
PyWebIO v1.2.2 使用手册使用 path_deploy() 可以从一个路径中部署PyWebIO应用。位于该路径下的 python文件需要包含名字为 main 的PyWebIO任务函数才能被视为PyWebIO应用 程序。服务端会根据用户访问的URL来确定需要加载的文件并从中读取 PyWebIO应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── inx)之后, 可能需要特别配置 反向代理来支持WebSocket协议,这里 有一个Nginx配置WebSocket的例 子。 明。 PyWebIO的会话实现默认是基于线程的,用户每打开一个和服务端的会话连 接,PyWebIO会启动一个线程来运行任务函数。 除了基于线程的会话, PyWebIO还提供了基于协程的会话。基于协程的会话接受协程函数作为任务函 数。 基于协程的会话为单线程模型,所有会话都运行在一个线程内。对于IO密集型 设置的函数被调用时会话已经关闭,所以在函数体内不 可以调用 PyWebIO 的交互函数 pywebio.session.hold() 保持会话,直到用户关闭浏览器。 注解 在PyWebIO会话结束后,页面和服务端的连接便会断开, 页面上需要和服 务端通信才可实现的功能(比如:下载通过 put_file() 输出的文件, put_buttons() 按钮回调)便无法使用。 可以在任务函数末尾处调用 hold()0 码力 | 119 页 | 7.41 MB | 1 年前3
PyWebIO v1.3.1 使用手册使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py 关于协程内容属于高级特性,您不必使用此部分也可以实现 PyWebIO 支持的全部功能。PyWebIO 中所有仅 用于协程会话的函数或方法都在文档中有特别说明。 PyWebIO 的会话实现默认是基于线程的,用户每打开一个和服务端的会话连接,PyWebIO 会启动一个线程来 运行任务函数。除了基于线程的会话,PyWebIO 还提供了基于协程的会话。基于协程的会话接受协程函数作 为任务函数。 基于协程的会话为单线程模型,所有会话都运行在一个线程内。对于 体内不可以调用 Py- WebIO 的交互函数 pywebio.session.hold() 保持会话,直到用户关闭浏览器。 注解: 在 PyWebIO 会话结束后,页面和服务端的连接便会断开,页面上需要和服务端通信才可实现的 功能 (比如:下载通过put_file() 输出的文件,put_buttons() 按钮回调) 便无法使用。可以在任 务函数末尾处调用 hold() 函数来将会0 码力 | 111 页 | 1.70 MB | 1 年前3
PyWebIO v1.3.3 使用手册使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py 关于协程内容属于高级特性,您不必使用此部分也可以实现 PyWebIO 支持的全部功能。PyWebIO 中所有仅 用于协程会话的函数或方法都在文档中有特别说明。 PyWebIO 的会话实现默认是基于线程的,用户每打开一个和服务端的会话连接,PyWebIO 会启动一个线程来 运行任务函数。除了基于线程的会话,PyWebIO 还提供了基于协程的会话。基于协程的会话接受协程函数作 为任务函数。 基于协程的会话为单线程模型,所有会话都运行在一个线程内。对于 体内不可以调用 Py- WebIO 的交互函数 pywebio.session.hold() 保持会话,直到用户关闭浏览器。 注解: 在 PyWebIO 会话结束后,页面和服务端的连接便会断开,页面上需要和服务端通信才可实现的 功能 (比如:下载通过put_file() 输出的文件,put_buttons() 按钮回调) 便无法使用。可以在任 务函数末尾处调用 hold() 函数来将会0 码力 | 111 页 | 1.70 MB | 1 年前3
PyWebIO v1.3.2 使用手册使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py 关于协程内容属于高级特性,您不必使用此部分也可以实现 PyWebIO 支持的全部功能。PyWebIO 中所有仅 用于协程会话的函数或方法都在文档中有特别说明。 PyWebIO 的会话实现默认是基于线程的,用户每打开一个和服务端的会话连接,PyWebIO 会启动一个线程来 运行任务函数。除了基于线程的会话,PyWebIO 还提供了基于协程的会话。基于协程的会话接受协程函数作 为任务函数。 基于协程的会话为单线程模型,所有会话都运行在一个线程内。对于 体内不可以调用 Py- WebIO 的交互函数 pywebio.session.hold() 保持会话,直到用户关闭浏览器。 注解: 在 PyWebIO 会话结束后,页面和服务端的连接便会断开,页面上需要和服务端通信才可实现的 功能 (比如:下载通过put_file() 输出的文件,put_buttons() 按钮回调) 便无法使用。可以在任 务函数末尾处调用 hold() 函数来将会0 码力 | 111 页 | 1.70 MB | 1 年前3
共 171 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













