Cloudify:打通应用和基础架构自动化交付的 “任督二脉”

Cloudify:打通应用和基础架构自动化交付的 “任督二脉”

閱讀本文約花費: 10 (分鐘)嘉宾介绍: 张亮,上海翰纬信息科技有限公司技术总监兼合伙人。IT从业经验14年以上,先后从事开发、架构、项目管理、技术管理等岗位,曾就职于IBM,在大型企业数据中心运维方面,积累了超过10年的架构和规划管理经验,先后为五大行、农商行等金融机构提供数据中心运维管理规划和管理平台落地咨询及实施服务。热爱开源技术,现专注于openstack、docker、cloudify、apache kylin等开源方案在传统企业的落地。 前言 很高兴有机会和各位专家、大牛一起分享技术方面的话题。我们今天分享一个与Paas相关的开源平台—Cloudify,希望和大家一起学习!最早我听说Cloudify还是我在IBM参与一个方案讨论时遇到的,但介于种种原因就错过了深入了解的机会。 去年,一个偶然的机会再次相逢,用我半吊子的Python功底深入研究了Cloudify的源码,对于Cloudify有了更为全面深入的认识,所以借此机会和大家一起交流。 本次交流主要围绕Cloudify概述、业务和技术定位、架构、核心组件,并与当前热门的Openstack、Docker的整合方式进行讲解。 1. Cloudify概况 Cloudify是一个开源的云应用编排系统,可以让你的应用自动化在各种不同的云上方便地部署。 由GigaSpaces公司(一家总部位于纽约的以色列中间件技术公司)开源。…

Read More Read More

分享一些高质量的博客

分享一些高质量的博客

閱讀本文約花費: 1 (分鐘)MySQL OurMySQL 很专业的MySQL技术分享博客 高性能MySQL,PHP架构 MySQL&PHP技术分享 PHP 雪候鸟的博客 PHP大牛鸟哥的博客,身为PHPER必须收藏膜拜 风之缘的博客 其中PHP之道很不错 专注PHP… 设计除PHP之外比较多内容 神仙的仙居 谢振业,PHP业内比较知名人士,博客内容质量很高 goosman PHP扩展开发 Git 廖雪峰的官方网站 git入门基础教程,新手最好阅读材料 综合 TIM后端技术 新浪大牛的博客 CodingLabs 张洋博客 数据结构算法 EVILCOS 网络安全 梅梅的火星 Openresty等 雨松MOMO程序研究院 U3D 博客-伯乐在线 高质量博文分享 IBM developerWorks IBM 技术博客 乌云知识库 乌云安全博客知识库,专业安全知识分享 LLVM<<灵犀志趣 LLVM 专业研究 PageFault Lua & Nginx 源码研究 Tags: Nginx, 博客

今日早报2021.06.30

今日早报2021.06.30

閱讀本文約花費: 11 (分鐘) 今日早报2021.06.30 国内要闻 1、叮咚买菜正式登陆纽交所:IPO首日微收涨,市值超55亿美元 2、奈雪的茶将于今日登陆港交所挂牌上市,每股定价19.8港元 3、苏宁易购:正在筹划发行股份购买资产事项,股票继续停牌 4、雷军退任天星银行董事会主席,小米集团副总裁兼CFO林世伟接替 5、字节跳动公益发起“村落守护人”计划,推动古村保护与可持续发展 6、中国长城:拟分拆下属控股公司长城信息创业板上市 7、龙芯中科:科创板IPO已获受理,拟募资35.12亿元 8、美的集团与佛山联通、华为等合作开发的智能仓储业务正式上线 9、支付宝:全国13城320个足球场可在支付宝“文体中心”小程序预定 10、众为资本宣布新一期基金募资最终关闭,完成超50亿元新资金募集 政务快讯 1、国家卫健委:全国新冠疫苗接种剂次超12亿 2、北京停车新规7月1日实施:占车位不充电将收费 3、香港提出六方面措施,建设宜居低碳国际城市 4、浙江发布知识产权发展“十四五”规划,打造引领型知识产权强省 5、郑州自动驾驶巴士批量上线,在开放道路运行尚属我国首次 科技通信 1、联发科发布天玑5G开放架构,采用该定制芯片终端7月上市 2、高通将与超过35家公司联手,推动5G毫米波在全球推广 3、神州泰岳全资子公司中标北京移动5G消息CSP平台建设项目 4、扬杰科技集成电路及功率半导体封装…

Read More Read More

linux下使用命令来查看某一端口是否开放

linux下使用命令来查看某一端口是否开放

閱讀本文約花費: 1 (分鐘)1.你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:lsof -i:80如果有显示说明已经开放了,如果没有显示说明没有开放 netstat -aptn执行看看,是否监听在0.0.0.0:33063.netstat -nupl (UDP类型的端口)netstat -ntpl   (TCP类型的端口)例如 telnet ip  端口号   方式测试远程主机端口是否打开———————————————— No tags for this post.

alias命令

alias命令

閱讀本文約花費: 1 (分鐘)alias命令 Shell内建命令 alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号”将原来的命令引起来,防止特殊字符导致错误。 alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。 语法 alias(选项)(参数) 选项 -p:打印已经设置的命令别名。 参数 命令别名设置:定义命令别名,格式为“命令别名=‘实际命令’”。 实例 alias 的基本使用方法为: alias 新的命令=’原命令 -选项/参数’ 例如:alias l=‘ls -lsh’将重新定义ls命令,现在只需输入l就可以列目录了。直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。 要删除一个别名,可以使用 unalias 命令,如 unalias l。 查看系统已经设置的别名: alias -p alias cp=’cp -i’ alias l.=’ls -d .* –color=tty’ alias ll=’ls -l –color=tty’ alias ls=’ls –color=tty’ alias mv=’mv -i’ alias rm=’rm -i’…

Read More Read More

说说API的防重放机制

说说API的防重放机制

閱讀本文約花費: 3 (分鐘)说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击。重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次…n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正常逻辑是插入数据库操作,那么一旦插入数据库的语句写的不好,就有可能出现多条重复的数据。一旦是比较慢的查询操作,就可能导致数据库堵住等情况。 这里就有一种防重放的机制来做请求验证。 timestamp+nonce 我们常用的防止重放的机制是使用timestamp和nonce来做的重放机制。 timestamp用来表示请求的当前时间戳,这个时间戳当然要和服务器时间戳进行校正过的。我们预期正常请求带的timestamp参数会是不同的(预期是正常的人每秒至多只会做一个操作)。每个请求带的时间戳不能和当前时间超过一定规定的时间。比如60s。这样,这个请求即使被截取了,你也只能在60s内进行重放攻击。过期失效。 但是这样也是不够的,还有给攻击者60s的时间。所以我们就需要使用一个nonce,随机数。 nonce是由客户端根据足够随机的情况生成的,比如 md5(timestamp+rand(0, 1000)); 它就有一个要求,正常情况下,在短时间内(比如60s)连续生成两个相同nonce的情况几乎为0。 服务端 服务端第一次在接收到这个nonce的时候做…

Read More Read More

计算机端口的范围及分类

计算机端口的范围及分类

閱讀本文約花費: 3 (分鐘)  计算机的端口范围是从0号端口到65535号端口,可分为3大类:  (1)公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。   (2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。   (3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。 在Kubernetes范围,端口范围又是另外一个定义。 NodePort 类型 如果你将 spec.type 字段设置为 NodePort,则 Kubernetes 控制平面将在 –service-node-port-range 标志指定的范围内分配端口(默认值:30000-32767)。 每个节点将那个端口(每个节点上的相同端口号)代理到你的服务中。 你的服务在其 .spec.ports[*].nodePort 字段中要求分配的端口。 如果你想指定特定的 I…

Read More Read More

虚拟机冷迁移和热迁移

虚拟机冷迁移和热迁移

閱讀本文約花費: 4 (分鐘)1、冷迁移 通常我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,而这个磁盘通常是LVM文件系统。所以需要进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就可以看到要迁移的那个虚拟机的磁盘文件,通常以.qcow2或.raw结尾的,然后,只需将虚拟机的.xml配置文件发送到目标服务器上,然后重新定义一下即可通过“virsh list –all”命令查看到迁移过来的虚拟机。 2、热迁移 如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状态、内存中的内容、虚机设备的状态到目的主机上。否则,还需要将客户机的磁盘存储发到目的主机上。共享存储系统指的是源和目的虚机的镜像文件目录是在一个共享的存储上的。 在基于 共享存储系统 时,KVM 动态迁移的具体过程为: 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内…

Read More Read More

面试官:啥是请求重放呀?

面试官:啥是请求重放呀?

閱讀本文約花費: 16 (分鐘)重放攻击,这题我真的在面试的时候遇到过,两次。 印象比较深的是第一次遇到这个面试题的时候,也是第一次听到“重放攻击”这个词的时候,一脸蒙蔽,于是我就连蒙带猜的,朝着接口幂等性的方向去答了。 结果就凉了。 要回答怎么防止重放攻击,那么我们得知道啥是重放攻击。 学术上的解释是这样的: 重放攻击(英语:replay attack,或称为回放攻击)是一种恶意或欺诈的重复或延迟有效数据的网络攻击形式。 这可以由发起者或由拦截数据并重新传输数据的对手来执行,这可能是通过IP数据包替换进行的欺骗攻击的一部分。 这是“中间人攻击”的一个较低级别版本。这种攻击的另一种描述是: “从不同上下文将消息重播到安全协议的预期(或原始和预期)上下文,从而欺骗其他参与者,致使他们误以为已经成功完成了协议运行。” 举个简单的例子: 我们程序员日夜操劳的,在按摩店里面办个卡,偶尔去洗个脚放松一下不过分吧。 有一天,我去洗脚的时候对着店员说:给我安排一个 168 价位的,要小伙子啊,按着比较带劲儿,我的卡号是 88888888。 然后我在前台签上了自己的名字,店员就安排了一个精壮的小伙子给我按摩。 没想到我们的对话被其他人听到了,于是他也给店员说:给我安排一个 168 价位的,要小伙子啊,按着比较带劲儿,我的卡号是 88888888。 还模仿了我的签名,在前台签字。 把之前的、正常的请…

Read More Read More

kubeadm init 后master一直处于notready状态

kubeadm init 后master一直处于notready状态

閱讀本文約花費: 3 (分鐘)kubeadm安装Kubernetes,集群状态检测时,master一直处于notready状态 找问题,先查看pods状态 发现coredns一直处于pending状态,再进一步看kuberctl.services日志 看到是网络的问题,应该是fu 解决办法,换个链接 查看node状态,发现还是notready。查看日志 发现报错plugin flannel does not support config version ,修改配置文件 修改后,运行 再查看集群状态,发现master正常了,处于ready状态;但是node1节点还是处于notready状态 解决办法:去到node1,查看kubectl日志,发现还是报错no valid networks found in /etc/cni/net.d将node1中也加上cni的版本号,重新启动,即可看到集群状态变为正常 参考资料:kubeadm安装Kubernetes 1.14最佳https://www.kubernetes.org.cn/5462.htmlkubernetes安装过程中错误(kube-dns 状态一直是Pending,master节点是NotReady)https://blog.csdn.net/u013355826/article/details/82786649How to fi…

Read More Read More

面向 Kubernetes 设计误区

面向 Kubernetes 设计误区

閱讀本文約花費: 23 (分鐘)K8s 设计模式 Kubernetes 是一个具有普遍意义的容器编排工具,它提供了一套基于容器构建分布式系统的基础依赖,其意义等同于 Linux 在操作系统中的地位,可以认为是分布式的操作系统。 自定义资源 K8s 提供了 Pod、Service、Volume 等一系列基础资源定义,为了更好提供扩展性,CRD 功能是在 1.7 版本被引入。用户可以根据自己的需求添加自定义的 Kubernetes 对象资源(CRD)。值得注意的是,这里用户自己添加的 Kubernetes 对象资源都是 native 的都是一等公民,和 Kubernetes 中自带的、原生的那些 Pod、Deployment 是同样的对象资源。在 Kubernetes 的 API Server 看来,它们都是存在于 etcd 中的一等资源。同时,自定义资源和原生内置的资源一样,都可以用 kubectl  来去创建、查看,也享有 RBAC、安全功能。用户可以开发自定义控制器来感知或者操作自定义资源的变化。 Operator 在自定义资源基础上,如何实现自定义资源创建或更新时的逻辑行为,K8s Operator 提供了相应的开发框架。Operator 通过扩展 Kubernetes 定义 Custom Controller,list/watch 对应的自定义资源,在对应资源发生变…

Read More Read More

声明式编程和命令式编程有什么区别?

声明式编程和命令式编程有什么区别?

閱讀本文約花費: 4 (分鐘)声明式编程和命令式编程有什么区别? (What is the difference between declarative programing language and imperative programming language? ) 作者:Jinfeng Hu链接:https://www.zhihu.com/question/22285830/answer/469177185来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我不知道为什么这样一组概念会被提炼出来,因为通常这是一个只有在设计语言的时候才会考虑的问题。 计算机系统是分层的,也就是下层做一些支持的工作,暴露接口给上层用。注意:语言的本质是一种接口。 计算机的最下层是CPU指令,其本质就是用“变量定义+顺序执行+分支判断+循环”所表达的逻辑过程。计算机应用的最上层是实现人类社会的某种功能。所以所有计算机编码的过程,就是用逻辑表达现实的过程。层与层之间定义的借口,越接近现实的表达就叫越“声明式”(declarative),越接近计算机的执行过程就叫越“命令式”(imperative)。注意这不是绝对的概念,而是相对的概念。 当接口越是在表达“要什么”,就是越声明式;越是在表达“要怎样”,就是越命令式。SQL就是在表达要什么(数据),而不是表达怎么弄出我要的数…

Read More Read More

在 Windows 命令行下显示目录的大小

在 Windows 命令行下显示目录的大小

閱讀本文約花費: 5 (分鐘)我们知道在 Linux 系统下使用 du 命令可以很方便的查看某个目录的大小,甚至也可以列出某个目录下的所有子目录的大小。这在查找大文件时非常方便,因为有时候我们会遇到这种情况,譬如,磁盘空间快满了,我们知道 /home/apps 目录非常大,而这个目录下面又有着几十个不同的子目录,我们希望能知道每个子目录的大小以方便我们找到是哪个目录最占空间,那么怎么能快速找到最占空间的子目录呢? 在 Linux 系统下,我们使用下面的 du 命令显示当前目录的总大小: 1 du -sh . 也可以像下面这样,显示当前目录下的所有一级子目录的大小: 1 du -h –max-depth=0 . 可以看到在 Linux 下是非常方便的,而在 Windows 下就没有原生的工具可以很方便的实现这一点了。Windows Sysinternals Suite 提供了一个类似于 Linux 下的 du 命令的小工具 Disk Usage,命令的语法稍微有些不同,你可以查看下这个工具的使用文档。 借助外界的工具肯定是可以实现这个功能的,但是也可以直接在 Windows 命令行下不依赖于第三方工具来实现,譬如,使用下面的 PowerShell 命令: 1 Get-ChildItem -Recurse…

Read More Read More

互联网地址有用列表

互联网地址有用列表

閱讀本文約花費: 1 (分鐘) AustraliaNetwork ABC Radio Australia ESLBits EnglishCentral 可汗學院 Highbrow 多鄰國 Udemy 何圓圓的媽咪 Jack Homework Blog 討論KGDB網站 查爾斯的天空 內核之旅 菠蘿麵包的家 空中英語教室 本益比排行榜 ESL-LAB ELLLO免費英文聽力練習 MaoYang-有話要說 南華大學-課程影音系統 民視英文新聞 圖解英文字典[only IE] JServ 黃敬群 Jollen網路學院 小吳寶寶家 CSDN中國IT社區 The Code Project Codeguru The News for Linux LinuxJournal Acrobat Format My Source Code For Blogging Tags: Linux, 互联网

从年会看声明式编程(Declarative Programming)

从年会看声明式编程(Declarative Programming)

閱讀本文約花費: 9 (分鐘)React的设计贯彻了声明式编程(Declarative Programming)的思想,今天就说一说什么是所谓的声明式编程。 和声明式编程相对应的是命令式编程(Imperative Programming),大部分语言的hello world都是从命令式编程开始的。 什么是声明式编程?可以从一个现实中的例子来说明,这个例子就是年会。 举个年会的栗子? 作为我国科技公司的一个特色,每年春节前后都要举行年会,忙活了一年怎么都要热闹热闹,搞点娱乐活动,而且一定要有员工参与的娱乐活动,也就是要员工表演节目,表演节目就需要恰当的道具,所以,采购道具是年会准备中的重要一环。 每个公司准备年会节目道具的流程可能都会不一样,这里说一下我司Hulu的方法,技术公司的流程是非常技术化的,可谓声明式编程的楷模。 在Hulu,每个组都要在年会出节目,HR和各组节目负责人协调道具的采购,这个过程是这样: HR告知每一个节目负责人:“你们节目需要什么道具?告诉我,我会去买。” 然后,每个节目负责人会和自己的组员商量节目内容,最后给HR一个道具列表,之后就等着HR通知去领道具就行了。 结束了!这就是声明式编程的思想。 你可能会问:就这么简单? 回答:就这么简单,所有的采购、运输、协调,都由HR来做了。 没有对比就没有伤害,如果是用命令式编程的思想来处理,我们看看是怎样一个过程: …

Read More Read More

     
Scroll Up