海量用户推送后台系统架构实践-曾振波极光推送后台系统架构实践 曾振波 极光开发者技术部推送开发组 技术负责人 极光推送后台系统架构实践 曾振波 极光开发者技术部推送开发组 技术负责人 极光推送后台开发工程师 多年互联网开发经验,专注后台开发技术。2016年加入极光,负责极光推送平台架构设 计及开发,主导包括K8S在内的技术架构实施落地,推动系统架构的演进,构造支撑海 量用户的推送系统,对大规模分布式系统架构及设计有深入的理解。 深入的理解。 自我介绍 • 极光推送服务架构 • 关于极光 • 消息推送系统面临的挑战 • 极光推送相关架构 • 极光推送后台系统架构 • 后台系统架构基本原则 • 链接管理 • 系统安全 • 新技术的应用 目录 关于极光 36.9 万 开发者 107.6 万 APP 198 亿 移动终端 10.4 亿 月独立 活跃设备 90 % 覆盖率 亿级长连接用户 共享通道 短信通道 极光推送后台系统架构 iOS SDK Android SDK WPhone SDK Portal Conn GW SIS Register StatCenter TagAlias Segment OnlineCache XPNS Broadcast PushTask API JCache JMQ DB 极光推送后台系统架构 02 01 060 码力 | 23 页 | 1.26 MB | 1 年前3
基于Rust-vmm实现Kubernetes运行时0 码力 | 27 页 | 34.17 MB | 1 年前3
洛佳 组件化驱动、ROM运行环境与RustSBI第三届中国Rust开发者大会 组件化驱动、ROM运行环境与RustSBI 洛佳 华中科技大学 网络空间安全学院 2023年6月 本次演讲…… 关于我…… • 笔名洛佳 • 华中科技大学网络空间安全学院研一 在读(导师:周威老师) • 研究方向:物联网安全、系统安全 • 热爱开源,乐于尝试新技术 • RustSBI项目维护者 • 致力于向科研、教学和产业界推广 Rust语言 基地址结合,高灵活性;一次开发,同时 复用于嵌入式、固件和内核中。 # 组件化驱动 合理利用嵌入式、桌面和服务器芯片片内 ROM代码,构造零开销的运行环境。进一 步地,可完成安全引导、安全镜像分发和 通常的嵌入式开发等功能。 # ROM运行环境 # 2023年的RustSBI 作为RISC-V SBI固件的RustSBI,2023年 将与UEFI、LinuxBoot擦出火花。在驱 动、环境和SBI接口的基础上,提供快速 外 设 结 构 联合所有权、泛型等,暴露外设所有功能 外 设 及 其 寄 存 器 表 示 封装寄存器、位域表示和数据结构 分享性外设:以GPIO为例 • 从前级环境获取所有权,如从ROM 运行环境的#[entry]获得; • 配置GPIO状态后,只有对应外设类 型允许的操作函数能通过编译,否则 拒绝编译,避免不安全行为; • 开源标准抽象的功能,使用抽象规定 的调用方法。本芯片外设专属的功能0 码力 | 21 页 | 3.12 MB | 1 年前3
PyConChina2022-上海-在浏览器中运行 Python-韩骏在浏览器中运行 Python 主讲人: 韩骏 – Code Runner 作者 自我介绍 • 高级软件工程师 @ 微软开发平台事业部 • 《Visual Studio Code 权威指南》作者 • 20 多款 VS Code 插件(比如 Code Runner) • “玩转VS Code”知乎专栏 & 微信公众号 • VS Code 中文社区创始人 • https://github.com/formulahendry/9550 码力 | 13 页 | 1.79 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见Java Chassis 1.0.0 正式稳定版本发布 自动生成脚手架工程 支持Http2协议 自定义ping机制 Saga 0.1.0 分布式Pack原型 Pack 0.3.0 优化后台性能 支持多种分布式协调机制 多语言框架Omega 2017年12月 2018年3月 2018年8月 2018年6月 2018年10月 ServiceComb(Apache之旅) Saga0 码力 | 18 页 | 3.12 MB | 1 年前3
Java 应用与开发 - 线程编程November 6, 2018 大纲 线程基础 线程控制 线程的同步 学习目标 1. 线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制方法,理解各线程控制方法对线程状态切换的作 用。 3. 线程的同步:理解临界资源问题,进一步明白线程安全的意 义;了解关键字 线程控制 线程的同步 大纲 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 概念回顾 O 任务调度 ▶ 大部分操作系0 码力 | 82 页 | 1010.73 KB | 1 年前3
Linux Docker Mess发布,源码 必须完全公开,之后很快Linux正式采用GPL协议。 n 1995年,Linux全球用户数大大超过50万, Linux已可在Intel、Digital和Sun SPARC 处理器上运行,Linux Journal杂志已发行了10万册。内核发展到1.2,约有25万行代 码。 Linux History n 第一篇Linux帖子 From: torvalds@klaava.Helsinki 抢占式,不能真正实现实时应用。RT-Linux用巧妙的方式解决了此 问题,它并没有重写Linux的内核,而是实现了一个高效的可抢占式 实时调度核心并把Linux作为此核心的一个优先级最低的进程运行, 用户可以编写自己的实时进程,和标准的Linux共同运行。 Android n 架构 Linux Kernel Google vs Oracle:Java版权之争 So, what is Linux? n Linux 命令1|命令2 |命令3… n 后台执行命令:执行shell命令时,如果在命令后加一个“&”,则回车后 立刻返回到命令提示符状态下,而命令在后台执行。 命令& Architecture Shell n 暂停和恢复进程 n command& 让进程在后台运行 n jobs 查看后台运行的进程 n fg n 让后台运行的进程n到前台来 n bg n 让进程n到后台去 n ctrl+z 可0 码力 | 77 页 | 7.40 MB | 1 年前3
Laravel 6.0 中文文档务一次,如果你想要强制任务无限期重试,可以通过 tries=0 选项 进行指定: php artisan queue:work --tries=0 此外,请确保你的应用数据库包含了 failed_jobs 数据表,你可以 通过运行 Artisan 命令 queue:failed-table 来生成这个迁移: php artisan queue:failed-table 请求 Input 门面 影响级别:中等 Input 边界的混乱行为,例如: $schedule->command('list')->between('23:00', '4:00'); 对大多数用户来说,编写上述调度期望的行为是在 23:00 到 4:00 之间每分钟运行一次 list 命令,然而,在之前版本的 Laravel 中, 这个调度器的执行逻辑反过来了,会在 4:00 到 23:00 之间每分钟 执行一次 list 命令,在 Laravel 6.0 中,这一错误行为被纠正。 安装完 Laravel 后,需要配置一些目录的读写权限: storage 和 bootstrap/cache 目录对 Web 服务器指定的用户而 言应该是可写的,否则 Laravel 应用将不能正常运行。如果你使 用 Homestead 虚拟机做为开发环境,这些权限已经设置好了。 应用密钥 接下来要做的事情就是将应用的密钥(APP_KEY)设置为一个随机 字符串,如果你是通过 Composer0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.6 中文文档缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个调度任务就会在三台机器上运行并生成同样的报告三次,这样很不优雅,甚至很糟糕! 要指定任务只在一台机器上运行,可以在定义调度任务时使用 onOneServer 方法,第一台获取到 方法,第一台获取到任务的机器会给这个任务上一把原子级别的锁来阻 止其他服务器同时运行同一个任务: $schedule->command('report:generate') ->fridays() ->at('17:00') ->onOneServer(); 动态频率限制 当我们在之前版本的路由群组中指 法,也要从方法签名中移除该参数。 数据库 Morph 列的索引顺序 为了获得更好的性能,迁移方法 morphs 构建的列索引顺序倒过来了,如果你在某个迁移中使用了 morphs 方法,尝试运行该迁移的 down 方法时会报 错。如果应用还在开发中,可以使用 migrate:fresh 命令重构数据库结构;如果应用已经上线,需要显式传递索引名称到 morphs 方法。 MigrationRepositoryInterface0 码力 | 377 页 | 14.56 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. 59 6.1.2 JVM 内存模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2 Java 程序内存运行分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 iii 6.2.1 预备知识和所用讲解程序 . . . . . . . . 61 6.2.2 程序调用过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.2.3 Java 程序运行内存分析小结 . . . . . . . . . . . . . . . . . . . . . . 64 6.3 Java 内存管理建议 . . . . . . . . . . . . . . . . . . . . . . 184 14.1.8 两种创建线程的方式比较 . . . . . . . . . . . . . . . . . . . . . . . 185 14.1.9 后台线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 14.1.10 GUI 线程 . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
共 458 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46













