skynet

在电脑如此普遍的今天,这是每个人都有必要了解的计算机知识

不问归期 提交于 2020-04-23 07:23:49
给你们推荐一个科普视频, 计算机科学速成课 - Crash Course Computer Science 它所讲内容几乎涵盖了所有计算机相关知识,而且小姐姐讲得很生动有趣。它从 计算机历史 到 计算机组成,编程、算法、数据结构 再到 互联网 、 黑客&攻击 、 机器学习&人工智能 ,最后是 计算机未来。 不管你是否从业于IT行业,我觉得都很有必要了解计算机科学。了解它的历史,原理和互联网相关知识,这本身就是很有趣的东西。 它的主要内容如下: 1. 计算机早期历史-Early Computing 2. 电子计算机-Electronic Computing 3. 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates 4. 二进制-Representing Numbers and Letters with Binary_BiliBili 5. 算术逻辑单元-How Computers Calculate-the ALU 6. 寄存器 & 内存-Registers and RAM_BiliBili 7. 中央处理器(CPU)-The Central Processing Unit 8. 指令和程序-Instructions & Programs 9. 高级CPU设计-Advanced CPU Designs_BiliBili 10. 早期的编程方式-Early

在DataWorks标准模式下统计个人账号使用资源情况

只谈情不闲聊 提交于 2020-04-15 11:36:55
【推荐阅读】微服务还能火多久?>>> 背景 在使用MaxCompute的时候通常情况下,用户会通过Information Schema的task_history视图表来分析具体某个账号执行的SQL任务情况,来做到SQL成本分摊或SQL的时间成本优化。但大多数用户通过DataWorks标准模式下使用MaxCompute,这样在MaxCompute提供的元数据视图信息中将记录所有的生产作业执行账号为同一个主账号,只有小部分的开发作业执行账号为个人RAM子账号。本文主要介绍如何在DataWorks标准模式下统计个人账号使用资源情况。 如上图所示,这样大多数成本都无法升级到具体RAM账号上,进而做不到成本审计和分摊。 解决方案 在使用DataWorks开发MaxCompute作业时,每个节点都有一个责任人,默认为当前开发者即当前RAM子账号。如果能够获取到这个信息与Information Schema匹配即可。 获取节点责任人ID 在DataWorks页面中,一个节点的责任人如下示意图: 以一个真实的生产环境执行的作业logview为例,如下: 其中"SKYNET_ONDUTY":"219292777233523137"即为我们要获取的值。SKYNET_ONDUTY表示该节点的责任人,后面的value为该节点责任人(云账号&子账号)的ID。或者我们可以通过Information

ASP.NET Core结合Nacos来完成配置管理和服务发现

流过昼夜 提交于 2020-04-10 13:35:05
目录 前言 Nacos的简介 启动Nacos 配置管理 服务发现 写在最后 前言 今年4月份的时候,和平台组的同事一起调研了一下Nacos,也就在那个时候写了.net core版本的非官方版的 SDK 。 虽然公司内部由于某些原因最后没有真正的用起来,但很多人还是挺看好的。在和镇汐大大沟通后,决定写一篇博客简单介绍一下。 下面这个图,就是本文的重点了。 Nacos的简介 Nacos是一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台,它提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。 它有下面的关键特性 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 ... 特性还是挺多的,也有挺多值的挖掘的地方。有关Nacos的更多信息可以访问下面的地址: https://nacos.io/zh-cn/ https://github.com/nacos-group https://github.com/alibaba/nacos 下面就开始正题了,第一步肯定是先把Nacos跑起来。 启动Nacos 由于是演示,所以直接用docker启动了 Standalone Mysql 模式的。 git clone --depth 1 https://github.com/nacos-group/nacos-docker.git

docker探索-swarm搭建docker集群

倾然丶 夕夏残阳落幕 提交于 2020-04-06 17:33:48
原文出处: http://www.cnblogs.com/520playboy/p/7873903.html 前言 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令,docker swarm是创建服务器集群的工具,只需要几条命令就可以创建一个服务器集群。它内置一些服务器集群需要的工具,比如说:服务查找,网络,负载均衡等等 一、环境 centos 7.3 Docker version 1.12.6 ip 角色 192.168.6.130 manager 192.168.6.131 worker 192.168.6.132 worker 二、集群 2.1、在192.168.6.130中,初始化集群 [root@jacky jacky]# docker swarm init --advertise-addr 192.168.6.130:2377 Swarm initialized: current node (4devzwb6rpimfpteqr17h2jx9) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ -

有哪些针对Python的SOAP客户端库,它们的文档在哪里? [关闭]

只愿长相守 提交于 2020-03-12 22:12:37
我以前从未使用过 SOAP ,而且对Python还是有点陌生​​。 我这样做是为了使自己熟悉这两种技术。 我已经安装了 SOAPlib, 并尝试阅读其 Client 文档,但是我不太了解它。 我还有什么可以寻找的更适合用作Python的SOAP客户端库的东西吗? 编辑:以防万一,我正在使用Python 2.6。 #1楼 SUDS是必经之路,毫无疑问。 #2楼 我遵循了对该问题的其他答案的建议,并尝试了 SUDS 。 在“愤怒”使用它之后,我必须同意:SUDS非常好! 强烈推荐! 我确实从代理后面调用基于HTTPS的Web服务时遇到麻烦。 在撰写本文时,这会影响 所有 使用 urllib2 Python Web服务客户端,因此我将在此处记录该解决方案。 python 2.6.2及更低版本附带的 urllib2 模块不会针对HTTPS-over-HTTP-proxy会话向代理发出 CONNECT 。 这会导致超时,或者如果您很幸运,则会出现类似以下的错误: abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 这是Python错误跟踪器上的 issue1424152 。 错误报告附带有补丁程序,可在Python 2.x和Python 3.x中修复此问题。 这个问题已经解决 。

skynet 开启 https 配置

核能气质少年 提交于 2020-02-10 23:22:25
修改 Makefile Mac 下: # https : turn on TLS_MODULE to add https support TLS_MODULE=ltls TLS_LIB="$(shell brew --prefix openssl)/lib" TLS_INC="$(shell brew --prefix openssl)/include" Linux 下: # https : turn on TLS_MODULE to add https support TLS_MODULE=ltls TLS_LIB= TLS_INC= 前提是都安装了 openssl 然后在 config 里设置 certfile = "./host.cert" keyfile = "./host.key" 用 simpleweb.lua 测试,记得先把 http 改成 https 来源: https://www.cnblogs.com/hangj/p/12293241.html

skynet 学习资料整理

主宰稳场 提交于 2019-12-20 13:14:47
https://blog.csdn.net/zxm342698145/article/details/79640535 整篇覆盖很全 https://www.cnblogs.com/watercoldyi/p/5804743.html 模块 https://blog.csdn.net/linshuhe1/article/details/70495328 Skynet服务器框架(六) Socket服务源码剖析和应用 https://www.cnblogs.com/RainRill/p/8485024.html snlua服务的启动流程(一) https://blog.csdn.net/sftxlin/article/details/77941467 skynet学习资料整理 https://blog.csdn.net/gneveek/article/details/78944812 skynet wakeup分析 https://github.com/cloudwu/skynet/wiki/Cluster 官方wiki https://blog.csdn.net/jinxinliu1/article/details/80499476 skynet源码分析_master_slave模式 service manager https://www.jianshu.com/p

Linux命令备忘录:quota显示磁盘已使用的空间与限制

时光毁灭记忆、已成空白 提交于 2019-12-18 21:08:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> quota命令用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制。 语法 quota(选项)(参数) 选项 -g:列出群组的磁盘空间限制; -q:简明列表,只列出超过限制的部分; -u:列出用户的磁盘空间限制; -v:显示该用户或群组,在所有挂入系统的存储设备的空间限制; -V:显示版本信息。 参数 用户或者工作组:指定要显示的用户或者工作组。 实例 我们可以限制某一群组所能使用的最大磁盘配额,而且可以再限制某一使用者的最大磁盘配额 ,好比做一个收费的应用,vip可以得到空间更大一些。另外,以 Link 的方式,来使邮件可以作为限制的配额(更改 /var/spool/ mail 这个路径),不2,需要重新再规划一个硬盘!直接使用 Link 的方式指向 /home (或者其它已经做好的 quota 磁盘)就可以!这通常是用在原本规划不好,但是却又不想要更动原有主机架构的情况中! 要求:Linux 主机里面主要针对 quser1 及 quser2 两个使用者来进行磁盘配额, 且这两个使用者都是挂在 qgroup 组里面的。每个使用者总共有 50MB 的磁盘空间 (不考虑 inode) 限制!并且 soft limit 为 45 MB;而宽限时间设定为 1 天,

Skynet 设计综述

对着背影说爱祢 提交于 2019-12-09 13:29:22
多线程模式,可以使得状态共享、数据交换更加高效。而多线程模型的诸多弊端,比如复杂的线程锁、线程调度问题等,都可以通过减小底层的规模,精简设计,最终把危害限制在很小的范围内。 做为核心功能,Skynet 仅解决一个问题:把一个符合规范的 C 模块,从动态库(so 文件)中启动起来,绑定一个永不重复(即使模块退出)的数字 id 做为其 handle 。模块被称为服务(Service),服务间可以自由发送消息。每个模块可以向 Skynet 框架注册一个 callback 函数,用来接收发给它的消息。每个服务都是被一个个消息包驱动,当没有包到来的时候,它们就会处于挂起状态,对 CPU 资源零消耗。如果需要自主逻辑,则可以利用 Skynet 系统提供的 timeout 消息,定期触发。Skynet 提供了名字服务,还可以给特定的服务起一个易读的名字,而不是用 id 来指代它。id 和运行时态相关,无法保证每次启动服务,都有一致的 id ,但名字可以。 Skynet 原则上主张所有的服务都在同一个 OS 进程中协作完成。所以在核心层内,不考虑跨机通讯的机制,也不为单独一个服务的崩溃,重启等提供相应的支持。 Skynet 只负责把一个数据包从一个服务内发送出去,让同一进程内的另一个服务收到,调用对应的 callback 函数处理。 数据包通常是在一个服务内打包生成的,Skynet

为skynet的crypt库扩展一些加密(摘要)算法支持

十年热恋 提交于 2019-12-09 13:26:04
改造起因 在 上篇文章 , 我描述了为 skynet 添加稳定的 websocket 支持的起始并阐述了这么做的原因. 这几天在测试的时候发现, 当使用 skynet 内置的httpc库的时候会遇见 crypt 缺少一些我需要用到的算法(例如: crc 、 sha256 、 hmac_sha256 等等). 这里完全可以假设开发者在框架选型的时候没发现这个问题, 那可能会到开发中期需要第三方平台接入或扩展不同架构的时候才可能会发现了. 显然这将会在无形之中就会给一个项目引入不可预料的稳定性因素. 为了尽可能的避免这个因素, 扩展一些常见的加密(摘要)算法支持是必不可少的. 首选方案肯定使用已经成熟的库. 但是很可惜, lua5.3没有较为可靠并且现成的实现库可以 fork 后直接使用. 而且可以用来参考的库仅有: luajit 利用 ffi 实现的库、 OpenSSL 的实现. 然而这些无法直接或间接移植到lua 5.3. 这是目前遇到的最坏的情况! 最终, 我们只能用Lua的C API来粘合C语言的Crypt实现来完成Lua版本的Crypt扩展库改造工作. 改造开始 我在网上寻找一段时间后发现一个比较不错的 Lua sha实现 . 这份代码包含 md5 、 sha128 、 sha384 、 sha512 的C实现, 其用大量的宏来完成Lua注入动作.