从锦囊妙计想到的13–运行时同用户交互动态获得指示

  categories:儿童计算机, 原创  author:

本文是从锦囊妙计想到的13集,主要说一下如何在运行(工作的)时候,现场同用户获取工作的进一步指示,然后提高程序的工作满意度。

一。总结一下前面程序的一些特点和缺点

前面的烙饼程序是 关羽写的一些列锦囊, 然后张飞去烙饼,其实就是去执行或者运行程序。

关羽写的一系列锦囊叫做程序,这个时候关羽仅仅是预测了未来这个程序执行时的一些可以预见的事情, 对于一些无法预测的事情还不知道如何处理, 例如突然天上巨大闪电造成厨房大停电,就没办法处理了。

因此程序是事先写好的, 考虑到将来运行时的一些情况的一个一系列的指令(锦囊)的东西。这些东西可以打包到一个超级大的麻袋中, 麻袋里面可以放非常多的小麻袋, 小麻袋里面在放小麻袋。。。 最后放锦囊等等

张飞拿到外面的这个最大的麻袋, 然后打开,然后依照这里的锦囊进行工作时, 直到工作完成, 是需要一段时间的,整个这个过程叫程序的执行或者运行。运行中的程序 可以叫做进程。

在一个执行中的程序可能存在几个执行路线, 具体的看张飞是否三头六臂了。

若是张飞3头6臂 就可能有三张饼在同时烙,因此可能有3个行进路线,也就是三个线程。  当然也可能仅仅有一个,这个情况比较复杂, 以后深入计算机就明白了。现在了解一下就好。

另外, 关羽写的程序,除了可以被张飞执行,其实可以被很多人执行, 只要这些人会认字, 有一定厨房的本事就可以了。

因此一个程序其实可以 被执行多次, 别多人执行等等。

但是, 一个写好的程序其实也有一个问题,就是这个程序是按照写程序的人的想法写的, 但是写程序的人没办法预料到程序执行时一些具体的情况。例如

张飞烙饼是参照关羽写的锦囊进行的, 那么关羽一定写了自己喜欢吃的饼的做法, 例如关羽喜欢吃葱花饼, 但是改天赵云来了,赵云爱吃馅饼,等张飞端着一盆馅饼上来, 赵云一看,好家伙都是葱花饼, 没一个馅饼。。。… 阅读全文

从锦囊妙计想到的12–锦囊打包与函数和过程

  categories:儿童计算机  author:

这里是“从锦囊妙计想到的12”, 本文是通过给锦囊打包, 从而引出函数(或者过程,子程序)的概念,从而对指令部分进行细化分析。

一. 给众多小锦囊打个包

还是说个故事,依然还是烙饼的故事(谁让这个东西好吃呢)。

关羽写锦囊, 张飞烙饼, 已经持续很多天了, 就像柯南永远也长不大那样,故事就这么一个场景, 反正, 人家柯南每次都不一样, 我们每次内容说明的知识也是不一样的。

关羽已经吃惯了张飞烙的大饼,每天都要来蹭一顿, 每天关羽都要写呀写呀一些锦囊,然后老张去烙饼。

最近老有人来蹭饭因此每次烙的饼数不一样了, 这样关羽每次都得重新写一下, 关羽很郁闷。 后来关于发现数量的变化可以通过增加一个锦囊, 在锦囊里面放一个装豆子的袋子就解决了。

不过每次锦囊数量很多,拿起来很不方便, 然后还得整理一番, 给这些锦囊重新编号。  关羽还是个聪明的人, 他用了一个非常大的袋子把这些锦囊都收集到一起,然后每次把这个大袋子给张飞拿起, 然后张飞可以打开袋子从里面拿出锦囊(也就是指令去执行了)去工作。如下图

通过一个大好的 麻袋把众多带有指令的锦囊和带有数据的锦囊打包到一起, 然后做为一个整体进行处理,管理,使用等就方便多了。

二. 形实结合的参数

上面通过一个麻袋把全部锦囊都打包的办法可以解决了很多的问题了, 但是还有一个问题就是, 每次当有需要修改麻袋里面内容的时候,需要将麻袋整体打开,然后修改, 最后在整体都打包在一起。

这样尽管也可以, 但是长时间工作后发现,有的时候由于士兵粗心,在重新装麻袋时会偶尔忘记个别的锦囊,这样就有了麻烦。如何解决这个问题?

出现这个问题是, 每次还是有一些东西要修改, 由于这些要修改的东西同其他东西放到一起了, … 阅读全文

京东618如何支持容器百万级域名解析服务

  categories:资料  author:

InfoQ 报道京东大促技术已有三年的时间,这三年的陪伴见证了京东技术的成长。2015 年京东开启容器技术,拥有数千实例;2016 年,该数字上升至 15 万;2017 年,容器实例规模继续稳步上升并开源数个项目。

随着京东业务的高速增长,以及 JDOS2.0 的线上大规模运营,进而容器集群的编排成为常态,Pod 失效也成为常态,RS(Replication Set)在处理失效 Pod 时候会带来 IP 的变化。这样容器之间基于 IP 相互访问就有可能存在问题。所以一个强大的能支持百万级 hostname 域名解析服务,可以很好地解决这个问题。

一、系统概述

本文介绍的 DNS 命名为 ContainerDNS,作为京东商城软件定义数据中心的关键基础服务之一,具有以下特点:

  • 分布式,高可用
  • 自动发现服务域名
  • 后端探活
  • 易于维护、易于动态扩展llllllll,* 容器化部署

ContainerDNS

图一 ContainerDNS 架构图

ContainerDNS 包括四大组件 DNS Server、Service to DNS 、User

阅读全文

从锦囊妙计想到的11–给锦囊分分类

  categories:儿童计算机  author:

本文是:从锦囊妙计想到的11, 内容是给锦囊分分类。

前面重点说明了, 锦囊的执行路线, 就像可以把这些锦囊串接到一起形成一串, 类似一条线, 因此就有了线程。 同时随着工作量的增加, 一个人已经忙不过来了, 因此需要多个人同时工作, 那么每个人都有了一个执行路线, 因此就了多线程。

多线程中自然存在一些原来一个线程没有的问题,特别是一些非常容易出现错误的问题, 例如

1. 多个线程(两个人)同时拿起一个苹果去吃, 这个如何是好? 这个就是竞争关系, 有多时候, 两个人都看看苹果是没问题的, 但是若是有一个线程(人)去吃, 有人去看 那苹果可能已经比咬了一口, 而看到的是 被咬了的苹果

2. 多个人在不同时间向1号储物柜放东西, 那么最后储物柜里面的东西是那个人的, 是否有意都成问题了。 例如甲在1号储物柜放了兔子, 乙放了一条狗, 最后结果如何?

上述问题都是并行计算中常见一些问题, 并行计算里面还有很多问题, 暂时先不说了, 否则跑题太远了, 今天聊聊 锦囊的分类问题。

一. 可以灵活复用的一堆锦囊

阅读全文

让我们了解 Ceph 分布式存储

  categories:资料  author:

前言

       最近在学习 kubernetes 过程中,想实现 pod 数据的持久化。在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业。在选型方面,个人更加倾向于社区火热的项目,GlusterFS、Ceph 都在考虑的范围之内,但是由于 GlusterFS 只提供对象存储和文件系统存储,而 Ceph 则提供对象存储、块存储以及文件系统存储。怀着对新事物的向往,果断选择 Ceph 来实现 Ceph 块存储对接 kubernetes 来实现 pod 的数据持久化。

一、初始 Ceph

1.1 了解什么是块存储/对象存储/文件系统存储?

直接进入主题,ceph 目前提供对象存储(RADOSGW)、块存储RDB以及 CephFS 文件系统这 3 种功能。对于这3种功能介绍,分别如下:
1.对象存储,也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL 和其他扩展,代表主要有 Swift 、S3 以及 Gluster 等;
2.块存储

阅读全文



快乐成长 每天进步一点点      京ICP备18032580号-1