首页 文章 精选 留言 我的

精选列表

搜索[任务背景],共10000篇文章
优秀的个人博客,低调大师

基于canvas绘制的一个跟随鼠标变幻的动态背景线条

特点: 1、不依赖jQuery等任何框架或者内库 2、原生javascript 3、使用外链 4、JS文件已经存储在CDN上,可以直接使用,支持ssl协议外链,github的外链 【引用代码】 1.<script type="text/javascript" src="https://cdn.bootcss.com/canvas-nest.js/1.0.1/canvas-nest.min.js"></script> 【JS代码】 !function(){function n(n,e,t){return n.getAttribute(e)||t}function e(n){return document.getElementsByTagName(n)}function t(){var t=e("script"),o=t.length,i=t[o-1];return{l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99)}}function o(){a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,c=m.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function i(){r.clearRect(0,0,a,c);var n,e,t,o,m,l;s.forEach(function(i,x){for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e<u.length;e++)n=u[e],null!==n.x&&null!==n.y&&(o=i.x-n.x,m=i.y-n.y,l=o*o+m*m,l<n.max&&(n===y&&l>=n.max/2&&(i.x-=.03*o,i.y-=.03*m),t=(n.max-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.lineTo(n.x,n.y),r.stroke()))}),x(i)}var a,c,u,m=document.createElement("canvas"),d=t(),l="c_n"+d.l,r=m.getContext("2d"),x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTimeout(n,1e3/45)},w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;left:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o,window.onmousemove=function(n){n=n||window.event,y.x=n.clientX,y.y=n.clientY},window.onmouseout=function(){y.x=null,y.y=null};for(var s=[],f=0;d.n>f;f++){var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max:6e3})}u=s.concat([y]),setTimeout(function(){i()},100)}();

优秀的个人博客,低调大师

云数据库高可用—— Series1:MySQL主从复制原理背景

1 引言 高可用是系统架构设计中必须考虑的因素之一,主要目标是消除基础架构中的单点故障,通常表示为一个百分比,表示在给定时间段内特定系统或组件的正常运行时间,其中100%表示系统永不失效。而任何的单机系统因受限于软硬件的限制,如硬件损坏、操作系统崩溃、软件BUG、业务压力过大等原因,都不可能保证系统100%可用。一旦出现此类问题,如何能快速恢复用户业务,将影响程度减至最低,降低故障RTO(Recovery Time Objective,恢复时间目标)成为我们所要考虑的问题。 对于数据库系统来说,比较通用的解决方案是将单机程序部署在多台主机上,组成一个集群共同对外提供服务。在MySQL中,最常见的一种部署方式为主从复制,这种部署方式一方面满足了故障恢复的场景,又能够在一定程序上分担主库的压力,做到了业务的读写分离。相较于Oracle的RAC(real application clusters,实时应用集群)来讲,一不需要共享存储,二不需要内存同步,也无需VIP(Virtual IP Address,虚拟IP地址)。因此MySQL的主从部署更为便捷,实现原理也简单。本文将对MySQL主从复制的实现原理进行介绍。 2 一主一从复制实现原理 在数据库实现技术中,最基本的、必须要满足的一个特性便是ACID,即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。为了实现ACID,MySQL引入了Binlog(二进制日志),数据库中所有的DML、DDL语句都将记录在Binlog当中。如用户在主库上执行了一条update语句,那么在Binlog中便会记录这条update语句,这样就可以使用Binlog来进行实例间的数据同步,Binlog也成为MySQL主从复制的实现基础,能够达到增量数据同步的目的,具体实现原理如下图所示。 图1:MySQL一主一从复制实现原理图 主库所有的DML、DDL操作语句记录到Binlog日志中。 从库中的IO线程会实时捕获主库中Binlog的变化内容,并写到从库的中继日志Relay log里。Relay log会持久化到本地文件中。 从库中的SQL线程负责从Relay log日志里取出Binlog内容,并把所有的语句按先后顺序在从库中执行一遍,这样就实现了主从间数据的一致性。以上便是MySQL主从库实现增量数据同步的步骤和原理。 3 一主一从部署 在实际部署过程中,需要先做全量数据的同步,保证从库中存在与主库相同的基础数据,然后再进行增量同步。一般使用数据库全库的备份恢复来做主从间的全量同步,即先在主库上做一次全量备份,然后把备份传到从库中进行全量恢复。这里会有一个问题,主库不会一直是静止状态,数据备份和恢复需要一定的时间,这个时间长短完全取决于数据量的大小以及主从间的传输带宽,从库执行完全量恢复后可能已经落后主库一段时间,这段时间的增量数据就需要Binlog来追。所以在从库上需要执行一个change master的命令来告诉从库需要从哪个位置来同步主库的Binlog日志,同时从库上会启动IO线程和SQL线程,IO线程从指定位置开始读取Binlog,SQL线程用来回放日志。当从库追平主库时,便完成了主从部署和搭建。 以上便是MySQL基于Binlog进行主从复制的相关内容,不过这种机制是100%可靠的么?会不会有例外情况?读者可思考一下,下期我们将继续进行介绍。 作者:张西来 阿里云智能GTS-SRE团队技术服务经理 曾就职于某国产数据库厂商,有10多年数据库技术支持工作经验,精通多款数据库产品,为国内多个大中银行核心数据库提供技术支持。目前就职于阿里云智能GTS-SRE团队,负责云数据库的高效运维和管理工作。 我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册