【编者按】在2013年初马化腾被问及“过去两年腾讯在海外投资中最成功的案例是什么”时,他毫无疑问的回答:“投资美国的Riot Games,做出《英雄联盟》。”在那个时候,《英雄联盟》这款游戏仅上市3年
开源软件的重要性就不用多说了,它是IT工业的基础。它和我们每个人、每天的学习、工作、生活都息息相关,我们使用的互联网、物联网、车联网都广泛的依赖于它们。
最近做了一个单点登录系统,使用的openLDAP存储用户和组信息。封装了一个ldap的操作类。ldap这东西还是蛮复杂的,用以备忘吧。要是不知道LDAP是什么东西,请把鼠标移到浏览器右上角,mac系统移到左上角,点小叉叉。呵呵……
Erlang应用场合 未来的计算是并发计算。现今甚至桌面CPU也是多核的,当用户给服务器购买了越来越多的CPU时,他们更期望能最大限度地利用他们的新投资,但是今天的许多软件系统并不能很好地做到这一点。 整个软件行业也在发生重大变革,由卖工具软件转向卖服务(软件免费,这也是开源软件兴起的过程),由单纯客户端向B/S或C/S转化,相应的存储和计 算向服务器端转移,由原来的PC客户端向客户端多元化(如手机、PDA、电视机顶盒等)转化。这些变革趋势,使得用户可以更方便地访问到服务的同时,服务 器也要承受越来越高的负荷,并行/分布的需求逐渐增加。 Erlang语言不是用来解决所有问题的语言,至少现在还不是。Erlang最初专门为通信应用设计的,比如控制交换机或者变换协议等,非常适合于构 建分布式,实时软并行计算系统。它是一门专注的语言,可以适应现代服务器要求高负荷、高可靠、持续服务的需求。它要解决的问题域包括:高并发、分布式、持 续服务、热升级和高可靠等问题。 Erlang应用实例 典型的Erlang应用是由很多被分配不同任务的“节点(Node)”组成的“集群 (Cluster)”。一个Erlang节点就是一个Erlang虚拟机的实例,用户可以在一台机器(服务器、台式机或者笔记本)上运行多个节点。 Erlang节点自动跟踪所有连接着的其他节点。要添加一个节点仅仅需要将其指向任何一个已建节点就可以了。只要这两个节点建立了连接,所有其他节点马上 就会感应到新加入的节点。Erlang进程使用进程ID向其他进程传递报文,进程ID包含着运行此进程的节点信息。因此进程不需要理会正在与其交流的其他 进程实际在何处运行。一组相互连接的Erlang节点可以看作是一个网格计算体或者一台超级计算机。 erlang的odbc应用程序结构图 Yaws是一个Erlang写的Web服务器。ErLang本身带有一个HTTP Server,叫做inet。Yaws对于inet,就相当于Servlet对于Http Server。Yaws也可说是一个Web开发框架,Yaws的ehtml类似于jsp、 php、ruby template。Yaws并发能力是Apache的15倍,有人利用16台集群服务器所做的显示,Yaws可以承受超八万并发活动,Apache在四千 就宕机了。 erlang和ruby的简单测试 Ejabberd也是Erlang很好的应用实例,也是目前可扩展性最好的一种 Jabber/XMPP服务器,支持分布多个服务器,并且具有容错处理,单台服务器失效不影响整个集群运作。Ejabberd基于ErLang+ Mnesia构建,项目已成功发展5年,占据30%左右Jabber服务器市场。 Tsung则是多协议分布式压力测试工具,可用于测试Http、Soap、Postgresql和Jabber/XMPP服务器。而Wings则是一个3D建模程序,软件支持Windows、Mac OSX和Linux等操作系统,这两个项目都基于Erlang构建。 Erlang将会成为一个非常重要的语言。如果有了大公司的支持,它甚至可能成为下一个Java。因为它是个开源项目,非常适合多核处理、Web服务等领域。事实上,它也是编写在多核机器上运行的高可靠性系统的唯一成熟语言。 Erlang始于20年前,是一个并发性Prolog,Joe Armstrong创造了它。第一个大型Erlang项目是一个由几百人创建的电信交换系统,系统有数百万行代码。系统主要关注的就是可靠性,并且系统有 难以置信的可靠性历史。据Joe介绍,“它有99.9999999%的可靠性”。 这意味着每10亿秒才有1秒宕机时间,或者说10亿分钟有1分钟宕机时间。十亿秒大概是30年,10亿分钟大概有2000年。99.999% 的可靠性大概是每年宕机5分钟,这已经是很好的了。了解可靠性的人都知道,可靠性系统有 99.9999%的,甚至99.99999%的,但是估计没听过有99.9999999%可靠性的,可基于Erlang的系统实现了。 但这还不是令Erlang壮大的理由,因为不是什么人都关注可靠性。也不是因为 Erlang是一个函数式语言,更不是并行Erlang是个面向对象语言。其发展迅速的主要原因是唯一一个有可靠实现和完善类库的成熟的并行开发语言,在 不久的将来所有的桌面系统、笔记本电脑都将是多核的,而要让程序在多核上更快的运行就要使程序能充分利用多核处理的能力。 Erlang带有一组类库。多数类库是用于构建各类Internet服务的。 Erlang有Web服务器和数据库。Erlang社区认为它是构建可靠Web服务器和Web服务的首选语言。Erlang是一个构建可靠系统的框架/平 台,它构建的平台可以持续运行而无需关闭,可以每天更新软件,甚至可以定期的更换硬件。这些特性是电信应用所需要的,它还是在线银行、
AppScale是一个开源计算平台,旨在在公共云,私有云和内部部署集群上部署Google App Engine应用程序。AppScale与Google App Engine API完全兼容,并支持Python,Go,PHP和Java。使用AppScale,您可以将现有应用程序迁移到任何云计算平台。您将在下面找到用于为给定API提供服务的开源组件列表。
随着俄罗斯-乌克兰之间的战争持续升级,网络战争也成为双方发力的焦点,越来越多的黑客开始站队,并对对方的支持者发出相应的禁令和威胁。
上一篇博文中,我们成功的安装了OpenLDAP-2.4.4到系统中,这篇文章介绍如何基于上一篇文章配置一个自己的ldap服务器来使用。(上篇见 http://www.linuxidc.com/Linux/2016-05/130997.htm)
系统管理员 资源列表,内容包括:备份/克隆软件、云计算/云存储、协作软件、配置管理、日志管理、监控、项目管理 备份 备份软件 Amanda:客户端-服务器模型备份工具。官网 Bacula:另一个客户端-服务器模型备份工具。官网 Backupninja:轻量级,可扩展的元数据备份系统。官网 Backuppc:客户端-服务器模型备份工具和文件共享方案。官网 Burp:网络备份和还原程序。官网 Duplicity:使用rsync算法加密的带宽-效率备份。官网 Lsyncd:监控一个本地目录树的变化,然后产生一个进
很多人知道目前全球许多大型的云数据中心网络使用了大量 Arista 的交换机,那么这些用户看重的是哪些特性?今天我来和大家一起探讨一下云网络数据中心看重的软件驱动因素,因为时间因素我不会涉及各个方面,不会涉及像Spine-Leaf、VXLAN等组网技术或者像Arista引以为豪的 CloudVision一站式管理和自动化平台细节,我只是想和大家一起探讨一下云网架构中有吸引力的软件因素。具体而言我希望分享的是EOS上三个用户看重的特性:开放性、网络自动化特性和 Telemetry特性,或许能给大家一些启发。
Jim,携程高级研发经理,关注Java&Go技术栈后端研发。目前致力于TripPal开放平台的高可用、开放化进程及核心衍生服务。
【导语】:作者在上一篇文章《基于内容的推荐算法》中介绍了基于内容的推荐算法的实现原理。在本篇文章中作者会介绍一个具体的基于内容的推荐算法的实现案例。该案例是作者在2015年基于Erlang语言开发的相似视频推荐系统,从开发完成就一直在公司多个产品线中使用,该算法目前已经使用了四年。
简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。 这套理论适用于任意语言和
云原生概念12个因素 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。 这
很多情况下,我们对一些开源的组件会用、或者通过官方文档、实际部署测试对其原理有一定程度的理解就可以了,不一定需要进行源码的阅读。因为阅读源码确实是一件非常耗精力的事情。
这个周末我参加了docker hackathon,一个旨在为docker 2015大会暖场的编程马拉松。大赛在旧金山Mission St.上的万豪举行,硕大的餐厅被临时改装成开发者的乐园。作为组织者而言,docker做的相当不错,除了WIFI偶尔会很慢甚至无响应外,其它都无可挑剔。参赛的项目要求和docker相关,现场各个团队的项目也基本和docker生态圈的工具有关。和自己感兴趣的两个项目的发起者聊了聊,感觉都是小公司的内部项目的某个部分拿出来做,团队已经亲密无间,我一个外人加进去有些尴尬;其他不少项目偏
前言 LINC switch是一个由flowforwarding. org主导开发的一款基于Apache2.0协议开源的Openflow交换机软件。本文介绍了其安装方式。 详细介绍 LINC switch是基于Erlang语言开发的一款支持Openflow的交换机软件,可以部署在物理机或是虚拟机上。特性如下: 1.支持Openflow协议的1.2、1.3及1.4版本。 2.支持OF-config的1.1.1版本。 3.非常容易扩展的模块化架构。 4.支持在一个Erlang node上运行多个逻辑交换机。 什
mac 用brew安装nginx 其实我主要是记录默认的几个目录的 brew install nginx Updating Homebrew... ==> Auto-updated Homebrew! Updated 3 taps (homebrew/core, homebrew/cask and caskroom/cask). ==> New Formulae buildkit gitleaks llvm@7
Mysql 是我们常用的关系型数据库,在项目开发、测试、部署到生成环境时,经常需要部署一套 Mysql 进行数据存储。这里介绍下如何在 Kubernetes 环境中部署用于开发、测试的环境的 Mysql 数据库,当然,部署的是单节点模式,并非用于生产环境的主从或集群模式。整理了一份328页MySQ学习笔记
hello 各位小伙伴大家好,今年 5 月份的时候,松哥和大家聊过如何搭建 MySQL 主从复制:
首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。例如,创建一个名为 mysql 的目录,用于存放 MySQL 的配置文件。
一个正在运行的MySQL实例,如何查看对应的配置文件用的是哪一个?如果存在多个文件,生效的顺序是怎么样的?
我们都知道使用MySQL客户端来访问MySQL数据库时,会以一定的顺序读取不同位置的配置文件,但在一次做测试时,发现除了按照顺序读取默认的配置文件路径外,MySQL还有额外的读取配置文件的行为。如下是爱可生开源技术社区最近推送的一篇文章《技术分享 | mysql 客户端对配置文件的读取顺序》,就讲了这方面的一些问题,值得借鉴。
1、双击刚刚下载的Mysql安装包,并在 Choosing a Setup Type 安装界面,选择 Developer Default ,单击 Next
当用户启动MySQL服务器或者客户端时,可以通过命令行或者配置文件对服务器或者客户端的选项进行配置。如果用户没有为选项设定值,MySQL将为每个选项设置默认值。当服务器运行时,用户可以通过动态变量对选项值进行更改,并对其进行持久化配置,服务器重启后,该选项值能够持久有效。配置选项的优先级从低到高依次为,选项的默认值-配置文件的选项值-命令行的选项值-持久化的选项值-动态变量设置的选项值。如果用户在配置文件中为某一选项指定了值,但在启动mysqld时,通过命令行为该选项指定了不同的值,MySQL将优先使用通过命令行指定的选项值。
官网版本: https://dev.mysql.com/downloads/mysql/5.6.html#downloads
MySQL已经成为世界上最受欢迎的数据库管理系统之一。无论是用在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明了自己是个稳定、可靠、快速、可信的系统,足以胜任任何数据存储业务的需要。
1、Xenon 介绍2、架构环境说明3、MySQL 安装准备3.1、MySQL 主从复制搭建3.2、MySQL 半同步复制配置3.3、系统配置3.4、配置 hosts 解析3.5、各节点配置 ssh 互信3.5.1、150 配置3.5.1、151 配置3.5.1、152 配置4、xenon 配置准备4.1、配置 golang 环境4.2、安装xtrabackup4.3、安装 xenon4.4、配置xenon4.5、开启 xenon 并配置集群5、检验 xenon 环境5.1、检测 VIP 切换5.2、数据库重建5.2.1、模拟删除主库数据目录5.2.2、进行数据库重建
https://downloads.mysql.com/archives/community/
MySQL 是我们常用的关系型数据库,在项目开发、测试、部署到生成环境时,经常需要部署一套 MySQL 来对数据进行缓存。这里介绍下如何在 Kubernetes 环境中部署用于开发、测试的环境的 MySQL 数据库,当然,部署的是单节点模式,并非用于生产环境的主从或集群模式。单节点的 MySQL 部署简单,且配置存活探针,能保证快速检测 MySQL 是否可用,当不可用时快速进行重启。
Docker Hub中MySQL介绍:https://hub.docker.com/_/mysql
对于 MySQL 的基础学习来说,配置文件以及启动相关的内容也是有一些知识点是需要我们了解的。今天,我们就来简单地学习一下配置文件分组相关的内容以及启动工具之间的区别。
自己手上有一个项目服务用的是AWS EC2,最近从安全性和性能方面考虑,最近打算把原来腾讯云的MySQL数据库迁移到AWS RDS上,因为AWS的出口规则和安全组等问题,我需要修改默认的3306端口和Bind Address限制特定的IP访问,我在Stackoverflow上查询了如何修改,但是网上的资料大多比较老旧,不符合目前主流的MySQL版本(使用的MySQL 5.7.27,操作系统使用Ubuntu 18.04.1 LTS)
MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行。但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的。很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾水,不知如何安装。下面就介绍如何解决此情况下安装过程中的各种问题 。
1. 简介 InnoDB Cluster 的搭建可以分为两种情况: (1)实验环境 使用 sandbox 沙箱模拟数据库实例,这个非常简单,可以参考之前的一篇文章《体验 MySQL InnoDB Cluster》,也可以看 mysql 的官方文档,其中就是使用 sandbox 来介绍搭建过程的 (2)真实多服务器节点环境 真实环境下的搭建要更复杂一些,过程中我也遇到了一些问题,这方面的资料还很少,花费了不少时间才搭建成功 下面总结了多节点 InnoDB Cluster 搭建的详细过程,供有需要的朋友参考 2
ProxySQL 是一款可以实际用于生产环境的 MySQL 中间件,它有官方版和 percona 版两种。percona版是在官方版的基础上修改的,添加了几个比较实用的工具。本文以官方版本为例。
如果需要配置服务(如进行开机自启动等),可以进行配置,生产环境上如有多个实例等不建议如此配置
在本地做测试时,发现一个奇怪的现象,当我使用 socket 打算登录数据库,发现不指定用户时,默认并不是用的 root 用户登录,而是被修改为了 zhenxing 用户
总的来说,MySQL具有丰富的历史和诸多特点,这些特点使得它在全球拥有数百万的用户和开发者,成为Web应用程序和企业应用的主流数据库之一。
不知道大家有没有遇到过这个问题,已经安装完成mysql,并且成功使用,重启电脑之后,数据没了,mysql也无法登录。需要配置一下my.ini,但是my.ini都没有找到。
安装Linux服务器可选择:Centos,Redhat,Oracle Linux。
阅读目录 1、简介 2、环境说明 3、主从复制 3.1、MySQL 3.2、配置文件 3.3、开始构建主从复制 3.4、测试主从复制 4、MySql主主复制 4.1、实现原理 4.2、配置文件 4.3、开始构建主主复制 4.4、测试主主复制 5、注意事项 1、简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一。但不可忽略的是它本身的功能的确很强大。随着技术的发展,在实际的生产环境中,由单台MySQL数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
通常情况下 Windows 系统经常使用 SQL Server 数据库,但由于 SQL Server 属于收费产品需要您自行授权,也可购买 数据库 CDB 实例 。
在使用Java连接MySQL数据库时,你可能会遇到"com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure, The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server."的错误。这个错误通常意味着Java应用程序无法连接到MySQL服务器。 这个错误可能由多个原因引起,包括网络连接问题、MySQL服务器设置问题等。在解决这个问题之前,你可以尝试以下几个步骤。
想必很多新手都避免不了有这些疑问,都想一次性投入精力解决以上问题,下面我用我理解的方式帮助你解决这些疑问。
MySQL是一种流行的开源关系型数据库管理系统,在许多应用中被广泛使用。有时在启动MySQL服务时,可能会遇到服务无法启动的问题。这类问题通常会导致数据库无法正常工作,影响应用程序的运行。
MYSQL官方提供了Installer方式安装MYSQL服务以及其他组件,使的Windows下安装,卸载,配置MYSQL变得特别简单。
在MySQL官网下载社区版mysql-installer-community,此版本为免费的。
配置完成后,需要重启mysql服务使其修改的配置文件生效,使用如下命令使mysql进行重启
领取专属 10元无门槛券
手把手带您无忧上云