• Redis配置文件详解
    点击蓝字“程序员考拉”欢迎关注!Redis是一个高性能的key-value数据库。Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。 为了更好的使用redis,我们需要详细的了解redis配置文件及相关参数作用。include /path/to/local.conf额外载入配置文件...
  • Jenkins Master/Slave分布式构建环境
    作者:欧阳鹏原文:http://t.cn/AijBVJJS由于公司的Jenkins任务越来越多,而且所有的Android Jenkins任务都在同一台服务器上进行编译,而且该服务器配置Jenkins任务最多3个任务同时运行,所以有时候大家一起编译的时候,只能一个一个的等待。因此最近我重新搭建了一台Center OS服务器,配置好了SDK,JDK等一系列android的编译环境。并且在新的Center OS服务器上搭建好了新的Jenkins平台,本来想把部分的Android Jenkins任务迁移到新的Cen...
  • 这些年,我们一起追过的缓存数据库
    作者 | 李晓峰人生不过如此,且行且珍惜。自己永远是自己的主角,不要总在别人的戏剧里充当着配角。我以林语堂的《人生不过如此》中一句话来开篇。   背景     在互联网高速发展、快速演化的时代,想必在你的系统架构设计中,缓存服务是不是已经成为必不可少的一层,丰富的数据结构、高性能的读写、简单的协议,让缓存数据库很好的承担起关系型数据库的上层。畅途网为了解决节假日或高峰期的车次查询、抢票等大数据量的访问请求,很早以前就引进了 Redis,来作为数据库的上游缓存层,缓解底层数据库的读写压力。REDIS HA ...
  • Go语言爱好者周刊:第 2 期
    这里记录每周值得分享的 Go 语言相关内容,周日发布。欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[1] 。鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。文中包含大量链接,微信无法点击,可以通过【阅读原文】查看。(题图来自 Unsplash)虽然现在不是换工作高峰期,但我们应该时刻准备着,时刻提升自己。本期周刊提供了一系列和面试相关的资源。对于应届生和工作年限不长的人来说,如果想要进入大厂,算法相关的技能必须得...
  • 详解Mysql 高可用方案 之 Failover mha
    在分布式系统中,我们往往会考虑系统的高可用,对于无状态程序来讲,高可用实施相对简单一些,纵向、横向扩展起来相对容易,然而对于数据密集型应用,像数据库的高可用,就不太好扩展。我们在考虑数据库高可用时,主要考虑发生系统宕机意外中断的时候,尽可能的保持数据库的可用性,保证业务不会被影响;其次是备份库,只读副本节点需要与主节点保持数据实时一致,当数据库切换后,应当保持数据的一致性,不会存在数据缺失或者数据不一致影响业务。很多分布式数据库都把这个问题解决了,也能够通过很灵活的方式去满足业务需求,如同步、半同步方式、数...
  • 你必须收藏的Github技巧
    点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!来源:http://1t.click/mfzGitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的网站。这里经常遇到的痛点是,master遇到变更,经常需要去sync到gh-pages,特别是纯web前端项目,这样的痛点是非常地痛。Github官方可能嗅觉到了该痛点,出了个master当作网站是选项,太有用了。选择完master bran...
  • MySQL Ripple 一款开源的MySQL binlog server软件
    但是可以将binlog 传递给其他下游的数据库实例。与黑洞存储引擎不同的是,要使用黑洞存储引擎必须安装MySQL、MariaDB软件,初始化实例等信息。而 MySQL Ripple 其实就是一个程序,支持mysql GTID复制协议,。MySQL Ripple 有哪些应用场景1 如果有一个主库后面挂N个从库,主库的IO压力以及带宽会非常大。我们可以利用MySQL Ripple 作为一个中间层的binlog server 供下游订阅。3 类似 mysqlbinlog --stop-never 模式备份binlog。如果发生主备切换,MySQL Ripple可以通过程序动态调整主库的指向,确保binlog的连续性。如何安装需要安装bazelapt-get install pkg-config zip g++ zlib1g-dev unzip python libssl-dev default-jdk-headless libmariadbclient-dev. bazel test :all特别注意 目前看到测试成功的案例都是在Ubuntu 上安装成功的,Linux centos 7 上安装测试遇到很多问题。
  • 分享一些实用的GitHub 使用技巧
    Github官方可能嗅觉到了该痛点,出了个master当作网站是选项,太有用了。也很简单:url后面加上#L开始行号-L结束行号比如,AlloyTouch的运动缓动和逆向缓动函数如下面代码段所示:https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L39-L45其实也不用记忆你直接在网址后面操作,github自动会帮你生成url。这个issues会自动被关闭。下面这些关键字也可以:closeclosesclosedfixesfixedresolveresolvesresolved通过HTML方式嵌入Github如下面所示,user和repo改成你想要展示的便可以<iframe src="//ghbtns.com/github-btn.html?查看自己项目的访问数据在自己的项目下,点击Graphs,然后再点击Traffic如下所示:里面有Referring sites和Popular content的详细数据和排名。since=dailyhttps://github.com/explore其他issue中输入冒号 : 添加表情任意界面,shift + ?
  • Apache RocketMQ原理(7)——消息高可靠
    Apache RocketMQ broker服务端以组为单位提供服务的,拥有着一样的brokerName则认为是一个组。在Broker配置中,如果是有三个可选的brokerRole:ASYNC_MASTER、SYNC_MASTER、SLAVE。也就是说Master其实是分两种,决定其不同消息同步方式。ASYNC_MASTER是异步复制的方式,生存者写入消息到Master后无需等待消息复制到slave即可返回,消息的复制由旁路线程进行异步复制。相关源码如下:public boolean isSlaveOK { boolean result = this.connectionCount.get() > 0; result = result && ; return result;}殊途同归虽然看似两个完全不一样的同步策略,但实际上从实现上,在消息同步的实现上两者没有任何区别。
  • 独孤九剑-Spark面试80连击(下)
    By大数据技术与架构场景描述:这是一个Spark的面试题合集。再次感谢各位提供的资料,如果你有一定的 Spark 基础,但是经常在面试中表现不佳,那么这篇总结应该非常适合你!关键词:Spark 面试题书接:《独孤九剑-Spark面试80连击(上)》订正:第37题题目应为:说说Spark的WAL机制?Spark SQL和Structured Streaming会另起专题介绍,欢迎持续关注。Spark SQL UDF 其实是一个 Scala 函数,被 catalyst 封装成一个 Expression 结点,最后通过 eval 方法计根据当前 Row 计算 UDF 的结果。用户自定义函数可以在 Spark SQL 中定义和注册为 UDF,并且可以关联别名,这个别名可以在后面的 SQL 查询中使用。
  • 这些牛逼的 GitHub 使用技巧,你知道几个?
    Github官方可能嗅觉到了该痛点,出了个master当作网站是选项,太有用了。也很简单:url后面加上#L开始行号-L结束行号比如,AlloyTouch的运动缓动和逆向缓动函数如下面代码段所示:https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L39-L45其实也不用记忆你直接在网址后面操作,github自动会帮你生成url。通过提交的msg自动关闭issues比如有人提交了个issues:https://github.com/AlloyTeam/AlloyTouch/issues/6然后你去主干上改代码,改完之后提交填msg的时候,填入:fixhttps://github.com/AlloyTeam/AlloyTouch/issues/6这个issues会自动被关闭。下面这些关键字也可以:closeclosesclosedfixesfixedresolveresolvesresolved通过HTML方式嵌入Github如下面所示,user和repo改成你想要展示的便可以<iframe src="//ghbtns.com/github-btn.html?gitattributes来帮助你搞定。since=dailyhttps://github.com/explore其他issue中输入冒号 : 添加表情任意界面,shift + ?
  • 干货满满 | 来自灵魂的拷问-这21道Redis面试题
    幸运的是,随着 Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。全页缓存 除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。再次以Magento为例,Magento提供一个插件来使用Redis作为全页缓存后端。队列 Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。发布/订阅 最后是Redis的发布/订阅功能。
  • 谷歌开发者大会上,开源了一个超强项目ElasticDL
    9 月 11 日,蚂蚁金服开源了 ElasticDL 项目,据悉这是业界首个基于 TensorFlow 实现弹性深度学习的开源系统。在 11 日“谷歌开发者大会 2019”上,蚂蚁金服研究员王益宣布该系统正式开源。基于 TensorFlow 2.0 和 Kubernetes 实现弹性深度学习这个基于 Eager Execution 模式的开源项目名为“ElasticDL”,它是一个 Kubernetes 原生深度学习框架,根据介绍,ElasticDL 主要有四大特点:容错性弹性调度易用性高效其中又以容错与弹性调度特性最具特色。ElasticDL 在容错与弹性调度上都有不错的表现,它的现实意义便是高效解决集群效用问题。ElasticDL 通过 Kubernetes-native 机制来完成分布式计算,而这也为其带来了容错性与弹性调度的能力。
  • ElasticDL:蚂蚁金服开源基于TensorFlow的弹性分布式深度学习系统
    9 月 11 日,蚂蚁金服在2019谷歌开发者大会上海站上开源了 ElasticDL 项目,这是业界首个基于 TensorFlow 实现弹性深度学习的开源系统。ElasticDL 实现了容错和弹性调度的分布式深度学习,可以极大提升集群的总体利用率,同时显著减少用户提交作业之后等待作业启动的时间。ElasticDL 在容错与弹性调度上都有不错的表现,它的现实意义便是高效解决集群效用问题。ElasticDL 通过 Kubernetes-native 机制来完成分布式计算,而这也为其带来了容错性与弹性调度的能力。
  • 看完这篇还不会 Elasticsearch,我跪搓衣板!
    目前以 Lucene 为基础建立的开源可用全文搜索引擎主要是 Solr 和 Elasticsearch。Solr 和 Elasticsearch 都是比较成熟的全文搜索引擎,能完成的功能和性能也基本一样。不管是 Solr 还是 Elasticsearch 底层都是依赖于 Lucene,而 Lucene 能实现全文搜索主要是因为它实现了倒排索引的查询结构。ES的核心概念一些基础知识的铺垫之后我们正式进入今天的主角Elasticsearch的介绍, ES是使用Java编写的一种开源搜索引擎,它在内部使用Lucene做索引与搜索,通过对Lucene的封装,隐藏了Lucene的复杂性,取而代之的提供一套简单一致的 RESTful API。然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。官网对Elasticsearch的介绍是Elasticsearc
  • RabbitMQ和Kafka到底怎么选?
    对于RabbitMQ和Kafka,到底应该选哪个?RabbitMQ架构RabbitMQ是一个分布式系统,这里面有几个抽象概念。一个队列有多个主分片,每个主分片又有若干副分片做备份,同步机制类似于RabbitMQ。本文内容参考自RabbitMQ和KafKa官方文档,所以真要搞懂一个中间件的原理最好去看官方文档,文档里面有详细的设计方案,我们可以自己进行设计方案的对比,从而找出符合自己实际情况的中间件。
  • ¥899 的 MX MASTER 3 鼠标用起来怎样,作为罗技的老用户我想说说
    作为罗技办公鼠标的老用户,MX MASTER 一直都是心头所爱,好看且好用。恰逢 MX MASTER(3 代)首发,按捺不住内心蠢蠢欲动地物欲,买一波再说~罗技略显套路的定价策略。这一代的 MX MASTER 应该也充分考量到了这一点,通过新造型设计,让周边的小伙伴立马就能知道,咱用上的是新家伙事儿,深切满足了使用者想要凸显差异化的心理预期,也是此次首发销量颇佳的重要原因。开箱此次 MX MASTER(3代)的外包装实在有些寒酸,我隐约记得1代的包装还是颇为考究的。
  • Kubeadm 部署高可用 K8S 集群
    下面将描述每个节点要执行的步骤:Master01:二、三、四、五、六、七、八、九、十一Master02、Master03:二、三、五、六、四、九node01、node02:二、五、六、九集群架构:一、kuberadm 简介Kuberadm 作用Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践。kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。相反,我们期望由一个基于 kubeadm 从更高层设计的更加合适的工具来做这些事情;并且,理想情况下,使用 kubeadm 作为所有部署的基础将会使得创建一个符合期望的集群变得容易。
  • 盘点几种MySQL复制的解决方案和常见的错误理解
    作者 | 阿飞的博客来源 |公众号「阿飞的博客」本文将回顾MySQL复制概念和MySQL几种复制方案,同时也会澄清一些关于复制问题的误解。下图是MySQL复制示意图:MySQL有哪些复制方案?当改变发生时,master需要等待slave已经将日志保存到relay-log中并向master回复确认master才能提交事务。这个解决方案把重心放在一致性上,并且通过使用一个认证过程来保证事务避免冲突和执行的正确性。Percona XtraDB Cluster 有很多组件:Percona Server for MySQL;Percona XtraBackup ;wsrep patches / Galera Library;该解决方案几乎是同步的,可与组复制相媲美。因为它们是两种不同复制方案的实现原理。
  • Apache Flink 进阶(四):Flink on Yarn / K8s 原理剖析及实践
    本文根据 Apache Flink 进阶篇系列直播课程整理而成,由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍 Flink on Yarn / K8s 的原理及应用实践,文章将从 Flink 架构、Flink on Yarn 原理及实践、Flink on Kubernetes 原理剖析三部分内容进行分享并对 Flink on Yarn/Kubernetes 中存在的部分问题进行了解答。当 JobGraph 提交给 Flink 集群后,能够以 Local、Standalone、Yarn 和 Kubernetes 四种模式运行。在 Master 进程中,Standalone ResourceManager 的作用是对资源进行管理。当用户通过 Flink Cluster Client 将 JobGraph 提交给 Master 时,JobGraph 先经过 Dispatcher。Resource Manager 会启动 Container,接着进一步启动 Application Master,即对 Master 节点的启动。ApplicationMaster 启动后,向 ResourceManager 发起注册请求。NodeManager 不断汇报 Map/Reduce Task 状态和进展给 ApplicationMaster。
活跃用户
《科技日报》是富有鲜明科技特色的综合性日报,是面向国内外公开发行的中央主流新闻媒体,是党和国家在科技领域的重要舆论前沿,是广大读者依靠科技创造财富、提升文明、刷新生活的服务平台,是中国科技界面向社会、连接世界的明亮窗口。
《中国银行保险报》是中国银行保险监督管理委员会主管唯一工作日报。
数字生活家,手机新娱乐
专业的中文 IT 技术社区,与千万技术人共成长。
数字公民的糖
腾讯新闻旗下腾讯科技官方账号,在这里读懂科技!
凤凰科技频道官方账号,带你直击真相。
TechWeb专注于互联网消费领域,每日专业提供互联网产品、智能设备及互联网服务等方面的最新资讯。
从思考,到创造
让创业者不再孤独@i黑马
《环球科学》杂志官方帐号 www.huanqiukexue.com
用极客视角,追踪你最不可错过的科技圈。有快闻、也有洞见;有脑洞、也有思考。
雷锋网,读懂智能&amp;未来。
36氪是中国领先的新商业媒体,提供新锐深度的商业报道。我们强调趋势与价值,我们的slogan是:让一部分人先看到未来。
最好的中文人物报道
笑谈开发轶事,品味程序人生。
可能是最会用故事讲解技术本质的公众号!
以通俗易懂的方式讲解数据结构与算法、计算机网络,计算机基础等编程知识。
程序员职业规划:职场晋升之路;探讨程序员转化转管理之路。程序员学习管理之道:团队管理、项目管理、管理工具的推荐和使用经验。
促进软件测试领域知识的传播