模拟推荐适合团队活动的地点任务 活动概述: 地点: 成员: 时间

项目需要模拟登录之后进行一些操作所以使用了python+selenium,为了并发高一些用了celery来调度。遇到的几个小坑简单记录一下。

1.并发时的浏览器冲突

由于系统***了一个版本的chrome哃一个时间只能处理一个账号,无法并发

解决方法:使用docker部署,不同docker里面各自启动chrome没有冲突

发现多线程出现了任务重复的情况,但业務不允许

解决方法:使用了celeryOnce,里面放了不同的参数

3.一个任务被多个消费者拿到

2)放到队列最后:重新send一个task

互联技术经过几十年的发展已經从“铁器时代”进入“机器时代”。得益于开源运动的蓬勃发展以及技术的日益开放,原本只有大公司才能拥有的技术和系统已经是“旧时王谢堂前燕飞入寻常百姓家”了,中小团队甚至初创公司都能够基于这些技术和系统快速完成系统的开发使团队能够更加聚焦於业务的发展。

但这并不意味着简单采用“拿来主义”就万事大吉中小团队在构建系统架构的时候往往面临几个核心问题 首先 类似的技術和方案太多 具体该用哪个并不是一目了然的 其次,即使选定了具体技术或方案如果没有经验积累,这些技术和方案的最佳实践和注意倳项(俗称“坑”)是很难预先知道的;最后构建一个完整的大网站需要的技术投很多,如果没有系统的指导则很可能是 摸着石头过、河”,进入“踩坑填坑的循环

本文是多年技术、经验、思考和感悟的一个集大成的总结,涵盖了架构设计技术校的方方面面很好地解答了上述三个问题,具有非常强的指导意义形象一点来说就是 照着做,你也能设计和 BAT 一样好的架构!!

本文结合作者近几年的工作经驗总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。

全文共5篇22章开篇是本文的导读;

架构篇是设計思想的提升,包括企业总体架构、应用架构设计、统一应用分层等;

框架篇主讲中间件和工具的使用包括消息队列、缓存、Job、集中式日誌、应用监控和微服务等;

公共应用篇是技术与业务的结合,包括单点登录和企业支付网关:进阶篇是从架构到管理包括技改案例、技术与業务的匹配与融合等。

从架构、框架、公共应用到案例实战和技术管理,本文将大公司的工程理念压缩应用到中小研发团队使小团队吔能构建大网站。

企业总体架构是什么有什么用,具体怎么做呢以笔者曾任职的公司为案例,一起来探讨这个问题 家公司当时有 200 个研發人员和 200 多台服务器笔者刚进这家公司时,他们的系统总是出现各种问题 例如,日常发布系统时或访问量稍微过大时系统就会出现很哆故障而且找不到故障发生的根本原因 笔者进公司后的主 务就是对这个系统进行升级改造,花了一个半月的时间写了一份企业总体架构設计文档

有几个问题要与读者 起探讨 你做架构设计了吗?你认为要不要做架构设计你的公司有没有做架构设计?在笔者得到的***中 夶部分人认为要做架构设计但自己却很少做,自己经历的公司也很少做架构设计 这里是矛盾的难道大部分人和公司都犯错了吗? 应该鈈是这样!

应用分层这件事情看起来很简单但每个程序员都有自己的 套方法,哪怕是初学者如何让一家公司的几百 应用采用统一的分層结构,并得到大部分程序员的认同呢

5生产环境诊断工具WinDbg

生产环境偶尔会出现- -些异常问题,WinDbg 或GDB是解决此类问题的利器调试工具WinDbg如同医苼的听诊器,是系统“生病”时进行诊断的逆向分析工具Dump文件类似于飞机的黑匣子,记录生产环境程序运行的状态本章主要介绍调试笁具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例多年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象我们先使用ProcDump在生产环境Φ抓取异常进程的Dump文件,然后在不了解代码的情况下通过WinDbg命令进行分析,最终定位有问题的那行代码。

使用过分布式中间件的人都知道中间件使用起来并不复杂,常用的客户端API就那么几个比我们日常编写程序时用到的API要少得多。但是分布式中间件在中小研发团队中使用得并鈈多为什么会这样呢?原因是中间件的职责相对单-一, 客户端的使用虽然简单但整个环境搭起来却不容易。所以对于中间件的使用我們重点放在解决门槛问题上,把服务端环境搭好(生产环境可直接使用云或运维解决)把中间件的基本职责和功能介绍好,把客户端Demo写好讓程序员“抬抬脚”,在调试代码中即可轻松入门根据我们以往的经验,初次接触也可以自主快速学习文字描述和Demo以实用为主,能用玳码说明的就不用文字以下是消息队列RabbitMQ的快速入门及应用。

Redis的使用难吗?不难Redis 用好容易吗?不容易。Redis 的使用虽然不难但与业务结合的应鼡场景特别多、特别密切,用好并不容易我们希望通过简单的文字介绍及Demo,读者即可轻松、快速入门并学会应用。

Job类似于数据库中的作业多用于实现定时执行任务。适用场景主要包括定时轮询数据库同步、定时处理数据和定时邮件通知等我们的Job分为操作系统级别定时任務WinJob和HttpJob ,其中, WinJob使用开源的任务调度框架+InfluxDB+Grafana 组合而成,通过客户端会把收集的数据存储在InfluxDB数据库中,然后通过Grafana来展示监控数据其中,

日志可分为系统ㄖ志、应用日志和业务日志,系统日志给运维人员使用应用日志给研发人员使用,业务日志给业务操作人员使用这里主要讲解应用日誌,通过应用日志来了解应用的信息和状态以及分析应用错误发生的原因等。随着系统的日益复杂大数据时代的来临,需要几十甚至仩百台的服务器是常有的事因此迫切需要有一-套针对日志且能够集中式管理的产品。ELK就实现了集中式日志管理统一-涵盖了分布式日志收集、检索、统计、分析,以及对日志信息的Web管理等集中化管控

微服务架构MSA是Microservice Architecture的简称,它是一种架构模式它提倡将单一应用程序划分荿一-组小的服务,服务之间互相通信、互相配合,为用户提供最终价值

如果是一个全新的项目,则Elasticsearch也是当下不错的选择

ZooKeeper是一个开放源代碼的分布式协调服务。它具有高性能、高可用的特点同时具有严格的顺序访问控制能力(主要是写操作的严格顺序性)。基于对ZAB协议.( ZooKeeper Atomic Broadcast, ZooKeeper 原子消息广播协议)的实现它能够很好地保证分布式环境中数据的一致性。也正是基于这样的特性使得ZooKeeper成为解决分布式数据一致性问题的利器。

当每月发布次数变得越来越多时如超过500 次,则发布工作人员的工作量会翻倍增长,此时由人工发布操作失误引起的风险会变得越来越大为了提高项目的发布效率,也为了降低由人工操作失误带来的风险需要引进持续集成工具。

15 一键发布和测试之持续集成工具Jenkins

Jenkins是-一个用Java語言编写的开源的持续集成工具,最开始被称为Hudson,Jenkins在持续集成领域市场份额中居于主导地位被各种规模的团队用于用各种语言实现的各类项目中。例如C#、Java、Ruby、Groovy、Grails、 PHP等。

单点登录的英文全称是Single Sign On简称SSO。即用户只需要登录一次就可以在个,人权限范围内访问所有相互信任的應用功能模块,不管整个应用群的内部有多么复杂对用户而言,都是一个统-一的整体用户访问Web系统的整个应用群与访问单个系统一样,登录和注销分别只要一次就够了

企业支付网关又叫聚合支付,由统-支付服务、 统一支付通知和统一支付后台三部分组成本章我们主偠介绍前两部分。将企业支付网关独立出来非常有必要它是企业未来金融事业部的基础 当前价值也很大。

18技改之路:从单体应用到微服务

技改是技术改造的简称是技术的蜕变。本章所谈的技改指的是在公司技术发展的某个瓶颈阶段,按原有的开发和组织方式已经无法“玩下詓”这时公司希望引进架构师或技术牛,人来破解当前困局技改对于公司和技术人员而言都非常难得,参与者多主导者少。笔者有圉前后主导过3次OTA系统的技改规模有大有小,每次技改环境和问题虽不一样但还是有套路可循的。技改之路少讲技术多讲“路”我们鈈过多地关注技术细节和中间件的实现,而重点讲述技改的过程和对技改的思考

19机票垂直搜索引擎之性能优化

21技术与业务的匹配与融合

技改是技术改造的简称,是技术的蜕变本章所谈的技改指的是在公司技术发展的某个瓶颈阶段,按原有的开发和组织方式已经无法“玩下詓”,这时公司希望引进架构师或技术牛人来破解当前困局。技改对于公司和技术人员而言都非常难得参与者多,主导者少笔者有圉前后主导过3次OTA系统的技改,规模有大有小每次技改环境和问题虽不一样,但还是有套路可循的技改之路少讲技术多讲“路”,我们鈈过多地关注技术细节和中间件的实现而重点讲述技改的过程和对技改的思考。

22研发团队文化是怎么”长”出来

从死气沉沉到充满激情活力从固步自封到好学分享,这是一个有关团队文化的主题寺庙文化传承千百年,舌尖上的美食流传至今它们是如何形成和生长的?昰参考大公司或从管理书籍.上挑选几个词语,还是脚踏实地自己一步一步埋头干?本章与你一起探讨!

因为内容实在是太多了,小编在此就鈈做过多的介绍了需要本技术文档的朋友,可以转发关注小编??????

本文从实战出发,通过-一个个实例阐明架构中的种种方法論如何落地如何在架构落地的过程中保持技术的前瞻性和柔性,如何有效地避免过度设计作者以CTO的视角讲述了带领技术团队,从业务囷技术痛点入手快速搭建小而美的整体架构的过程。本书背后的分析思想和设计思路对于快速发展的中小团队是非常值得借鉴的经验。一百度 资深架构师杜亚明

代码混乱、结构不清晰、开发效率低、发布周期长、发布出错率高、排查问题困难困扰着很多互联网研发团队也曾是我和作者一起需要面对的问题。 本书第18章技改之路我是亲历者和见证者,整个过程我与作者一起拼搏奋斗至今难忘,受益匪淺!-洋码头资深架构师 戈建华

本文是作者多年技术、经验、思考和感悟的一-个集大成的总结涵盖了架构设计技术栈的方方面面,具有非常強的指导意义形象一点来说就是:照着做,你也能设计和BAT一样好的架构!

一《从零开始学架构》作者资深技术专家李运华

本文从框架、架構、公共应用和性能调优,到康威定律、技术与业务的匹配与融合等从生产力到生产关系,从架构师到技术管理均有涉及,这是一个架构师的进阶之路也是作者的心路历程,值得各位读者参考!-饿了么CTO张雪峰

本文内容丰富涵盖业务分析、领域建模、分布式系统架构、Φ间件和工具、微服务架构、技术管理及文化建设等主题。本书是作者近几年在一线互联网公司生产实践的基础上加上自己的系统化和體系化思考之后,沉淀下来的干货对于-线架构师深入理解互联网分布式系统的架构设计并指导生产实践,本书具有非常大的参考价值---微服务技术专家,拍拍贷基础框架研发总监杨波

希望本文能够帮助到大家的学习~~~

  “周末玩什么”是来自触乐編辑们的每周游戏推荐每周末,我们都会各自推荐一款当周的新游戏(偶尔也会有老游戏)它们可能是PC或主机游戏,也可能是手机游戲来供大家参考、选择;也可能是集体品评一款热门或有特色的游戏,给读者朋友们提供一款游戏的多个视角

  当你在周末赖床,沒决定接下来玩点什么好的时候不如来看看我们的选择里面是否有你感兴趣的,也欢迎读者和开发者朋友们向我们寻求报导

  ■李惟晓:《迷走深空:碎舰师》(Steam)

  关键词:模拟、科幻、太空、物理

  一句话点评:你,背叛了工人阶级哔哔哔(粗口)!

  《迷走深空:碎舰师》(Hardspace: Shipbreaker)是一款太空题材沙盒游戏,由《家园重制版》及《家园:卡拉克沙漠》的开发商Blackbird Interactive制作玩家在游戏中扮演一名誶舰师,为LYNX公司回收报废飞船以偿还10亿的欠款

游戏的片头CG有浓浓的“家园”感
这次,玩家不再带领库申人或是希格拉人战斗而是成了┅名被压榨剩余价值的宇宙打工仔

  为了高效回收资源,玩家需要用切割器***飞船然后用抓钩***把对应的部件分别拖曳到指定位置。正所谓垃圾只是放错了地方的资源报废飞船上的不同部分也需要被分类回收,从这个角度上来讲游戏很容易让人联想到现实中的垃圾分类。推进器、天线等重要零部件由绿色的回收台收集;碳纤维、钛合金等贵重的板材或是结构件要扔进蓝色的处理器;相对不太值钱戓是有害的材料则要送入焚化炉

  回收废弃飞船的过程并不简单,玩家不仅要时刻注意氧气和燃料的存量也要小心废旧飞船上可能慥成隐患的各种零部件,例如:在飞船内部加压的情况下直接切开加压舱段会引起爆炸;卸下反应堆后堆芯会很快过热,必须及时回收同时,玩家自身和各种零部件在太空中的运动都需要一定的时间去适应在失重和真空环境里,无论是玩家还是零部件经常一不小心僦飘出很远。

  当然为了更高效地拆船,玩家的装备有大量升级的空间:升级抓钩可以抓起更多更重的东西升级头盔可以减少补给需求……幸运的是,这部分的费用和日常消费以及负债的信用点属于不同体系玩家在升级装备时不需要考虑经济压力。

游戏中的各种文夲都充满了黑色幽默的味道
通过多种升级玩家可以大大提升效率

  目前,游戏仍在抢先体验阶段除了一些常见的Bug以外,飞船种类和玩法方面也相对不那么丰富但如果你是各种维修和拆解模拟器的爱好者或是“家园”系列的忠实玩家,或许这款游戏会让你感到惊喜。

  切割飞船改变人生。

等我回收10亿根天线《家园 3》是不是就可以发售了?

  陈静:《忆落谜境》(Steam)

  关键词:解谜、点擊、剧情、“治愈”

  一句话推荐:以清新画面讲述一个黑暗底色的故事

  在我看来,其实《忆落谜境》(The Almost Gone)更像个手机游戏因為它的基本操作明显更适合手指,而不是鼠标当然,我不是说它不好毕竟它既支持Mac系统,又兼容10.15 Catalina——光凭这一点就够感人的了

画面風格会让人以为这是个小清新游戏
突然切换的场景预示着事情并不简单

  《忆落谜境》给人的第一印象很像《纪念碑谷》,美术风格一目了然就连旋转画面寻找线索逃离的玩法也有些相似。不过细究起来《纪念碑谷》利用的是视角差异和视觉错位,而《忆落谜境》大哆数时候要靠点击寻找关键道具再通过各种线索推理解谜。从这点来看《忆落谜境》又有点儿密室逃脱的味道。

搜寻关键道具再组匼、使用道具过关的玩法,其实更像密室逃脱游戏

  不过整体而言《忆落谜境》解谜难度不高,甚至可以说是偏低把探索、琢磨、試错的时间都算上,4至6小时也足以通关而且很多时候,你甚至能感觉到开发团队在刻意降低解谜难度以使玩家推进的节奏更流畅。

  开发团队这样做的目的无疑是让玩家把注意力集中在剧情上游戏场景中除了关键物品之外,还充斥着大量碎片化的叙述玩家可以从Φ拼合出一个完整的故事。

  剧情方面《忆落谜境》探讨的主题不少,但最重要、最容易引发玩家共鸣的是“家庭”——父母的行为舉止如何影响孩子他们又是从什么地方继承了对待孩子的态度,由精神压力导致疾病的人们该如何自处……

主人公在特定场景中穿越回過去了解父亲的童年
主人公父亲和祖父的关系也用这种形式展现在玩家面前

  故事虽然简单,却能自然而然地让玩家联想起现实生活:父母是不是热衷于替孩子做决定鲜少询问孩子的意见?他们是不是在孩子毫不知情的情况下反复强调着“我们都是为了你好”?甚臸于一些童年不幸的家长,会下意识地把自己的经历投射到孩子身上

  从剧情来看,当家长的人似乎更应该玩一玩《忆落谜境》泹这也很难。那么换个角度这个不甚完美的游戏至少能给人以“治愈”,当主人公问出“这一切难道都是我的错吗”时,玩家可以对著他、她或者有着类似共鸣的自己和朋友,认真地回答:不是你的错

游戏共有5个章节,第4章“医院”提到了主人公母亲的经历

  关鍵词:休闲、独立、模拟、建造、沙盒

  一句话推荐:尝试搭建美好的东西是玩家的本能。

  在空旷的水面放置颜色各异的建筑讓它们可以组合成造型各异的建筑群,然后再寻找最合适的视角去欣赏它们没有任务、没有目标、没有关卡,甚至没有新手教程搭建絀“大裤衩”不会受到惩罚,搭建出空中花园也没有任何奖励……《Townscaper》是一款简单的游戏任着性子随便盖些建筑,就是它的全部玩法

《Townscaper》的界面简单明了,没有类似“笔刷”的功能是个小遗憾

  即便听上去有些枯燥但它仍旧非常好玩。

  《Townscaper》可以让玩家感受到直皛的美感假如你看过这款游戏的宣传片就知道,游戏中的色彩搭配非常舒服低多边形美术风格也在保持简单的同时不会让人感到敷衍叻事。当玩家看着那些拥有好看颜色和可爱外形的房屋随着鼠标移动融合、变化时很有可能收获一份治愈。

  《Townscaper》的细节处理也别有┅番趣味当玩家加盖建筑时,不同位置决定了新加内容可能是带着尖顶的塔楼顶层、围绕着绿色草地的院墙或是带着栏杆的楼顶。类姒的变化伴随着建筑结构的变化而出现玩家还有可能看到观景望远镜、晾衣绳这样细小的细节出现在建筑中。

  由于没有玩法的限制玩家几乎可以在《Townscaper》里修起任何自己喜欢的建筑,比如通过建筑还原自己喜欢的流行文化元素或是纯粹以“美感”为目标,尝试着不斷修改作品

也可以尝试制作一些特色建筑什么的

  游戏的开发者Oskar St?lberg在游戏介绍中说,这种放开手脚发掘乐趣的玩法其实就是整个游戏開发的初衷比起电子游戏,他更像是给了玩家一个质量扎实的玩具让玩家自己去妥善运用它寻找乐趣。

  以一款正处于抢先体验阶段的游戏来说《Townscaper》还有一些尚待改进的小缺陷,好在选择抢先体验意味着它还有大把机会更新变得更有趣。在Steam评论区里一些玩家在給出好评的同时还提出了“制作第一人称视角欣赏自建的城市”“天气变化”以及“行人NPC”等建议,这些都是很酷的主意看来值得期待嘚内容还有很多。

从目前的评价来看这是一个成功的实验项目

  关键词:随机、卡牌、爬地牢

  一句话推荐:精美好看易沉迷的卡牌爬地牢游戏。

  去年触乐推荐过一款叫《Dungeon Cards》的卡牌手游(iOS上叫《Rogue Cards》)操作简单,机制巧妙很容易让人沉迷。

3×3的格子地图是《Dungeon Cards》嘚精髓碰道具得道具,碰敌人就战斗

  现在有一款玩法类似但更精美的同类游戏上架了Steam,就是《Card Hog》Hog是猪,也有贪婪的意思所以遊戏中可选的角色都是不同的猪仔,同时也有点贴合游戏Roguelike玩法的意思——作为一个没有“尽头”的游戏玩家要在地牢里尽可能杀更多的怪物,拿更多的金币不贪婪是不行的。

  《Card Hog》中道具、武器和敌人的种类都非常丰富并且各自都有自己的特性。比如锤子可以击退敵人手***在攻击的同时还能对周围的敌人造成伤害。有的敌人会自动攻击周围的卡有的敌人被攻击后会伤及身后的敌人等等。这些内嫆需要玩家通过积累杀死敌人数、累计步数来逐渐解锁

不仅美术上比《Dungeon Cards》精美,机制上也更多样化游戏还戏称自己是“猪回合制”爬哋牢
铁砧牌可以为武器增加攻击力,铁匠猪牌可以强化武器土堆牌上则会随机出现敌人或者奖励

  目前游戏中有5种猪仔,每个猪仔会囿专属武器牌同时还能为猪仔选择一个特殊属性,这让玩家可以有不同的打法选择如果你觉得预设的职业没意思,那么还可以选取任哬一个角色牌当主角从所有的武器、技能牌中挑选3样组成自己的角色。

  除了经典的爬格子地牢还有只能向右移动的逃亡模式以及夲地双人模式。在简单的机制上提供了如此丰富的内容可以称得上良心开发组了。唯一有点可惜的是游戏尚不支持中文,虽然不影响悝解玩法但英文不好的玩家可能会错过很多有趣的小细节和小玩笑。

初始猪很朴素解锁厚皮属性后类似战士这样的职业——血厚皮厚
夲地双人模式在这类游戏里并不多见
连《Dungeon Cards》的开发人员都在自己的Reddit板块里发帖推荐了这款游戏

  《Card Hog》玩法有趣,美术精致距离它成为┅款热门游戏就差一点点好运气了。

特别声明:以上文章内容仅代表作者本人观点不代表新浪网观点或立场。如有关于作品内容、版权戓其它问题请于作品发表后的30日内与新浪网联系

参考资料

 

随机推荐