Ethan's Blog


  • Home

  • Archives

  • Tags

  • Search

Web 服务与应用

Posted on 2019-08-24

Web 服务和应用是目前互联网技术领域的热门技术。重点介绍如何使用 Docker 来运行常见的 Web 服务器(包括 Apache、Nginx、Tomcat 等),以及一些常见应用(包括 LAMP 和 CI/CD)。
包括 Web 服务在内的中间件领域十分适合引入容器技术:

  • 中间件服务器是除数据库服务器外的主要计算节点,很容易成为性能瓶颈,所以通常需要大批量部署,而 Docker 对于批量部署有着许多先天的优势;
  • 中间件服务器结构清晰,在剥离了配置文件、日志、代码目录之后,容器几乎可以处于零增长状态,这使得容器的迁移更加方便;
  • 中间服务器很容易实现集群,在使用硬件的 F5、软件的 Nginx 等负载均衡后,中间件服务器集群变得非常容易。

需要注意数据的持久化。对于程序代码、资源目录、日志、数据库、文件等需要实时更新和保存的数据,一定要启动数据持久化机制,避免发生数据丢失。

Apache

Apache 是一个高稳定性的、商业级别的开源 Web 服务器,是目前世界使用排名第一的 Web 服务器软件。

在使用 Dockerfile 创建镜像时,会继承父镜像的开放端口,但却不会继承启动命令。因此,需要在 run.sh 脚本中添加启动 sshd 的服务的命令。

Read more »

基础编程模型

Posted on 2019-08-20

我们学习算法的方法是用 Java 编程语言编写的程序来实现算法,这样做是出于以下原因:

  • 程序是对算法精确、优雅和完全的描述;
  • 可以通过运行程序来学习算法的各种性质;
  • 可以在应用程序中直接使用这些算法;

缺点:使用特定的编程语言,会使分离算法的思想和实现细节变得困难。

我们把描述和实现算法所用到的语言特性、软件库和操作系统特性总称为基础编程模型。

Java 程序的基本结构

一段 Java 程序(类)或者是一个静态方法(函数)库,或者定义一个数据类型,会用到下面七种语法,它们是 Java 语言的基础,也是大多数现代语言所共有的:

  • 原始数据类型:在计算机程序中精确地定义整数、浮点数和布尔值等;
  • 语句:声明、赋值、条件、循环、调用和返回;
  • 数组:多个同种数据类型的值的集合;
  • 静态方法:封装并重用代码,使我们可以用独立的模块开发程序;
  • 字符串:一连串的字符,Java 内置了对它们的一些操作;
  • 标准输入/输出:程序与外界联系的桥梁;
  • 数据抽象:使我们可以定义非原始数据类型,进而支持面向对象编程;

要执行一个 Java 程序,首先需要用 javac 命令编译它(*.class),然后再用 java 命令运行它。

Read more »

Meetings

Posted on 2019-08-18

Running a face-to-face meeting

So, let’s get started.

Useful Tips

  • Go through the agenda at the start of the meeting and check no items are missing.
  • Ensure good timekeeping during the meeting, making sure that participants stick to the agenda and don’t get sidetracked.
  • Control the discussion, making sure all participants contribute where relevant and that no one person dominates the whole meeting.
  • Summarize key decisions at the end of each agenda point.
Read more »

Telephoning

Posted on 2019-08-15

Cold calling

Do you have a moment to speak to me?

Useful Tips

When cold calling (approaching prospective clients or customers for the first time), keep the following points in mind:

  • Be clear and concise about who you are and the purpose of the call.
  • Use questions to help and guide the person you are calling.
  • Always use titles (such as Dr., Mr., and Ms.) and never first names.
  • Don’t be offended by hostile behavior. It’s not personal.
Read more »

Mesos - 优秀的集群资源调度平台

Posted on 2019-08-12

Mesos 项目是源自 UC Berkeley 的对集群资源进行抽象和管理的开源项目,类似于操作系统内核,使用它可以很容易地实现分布式应用的自动化调度。同时,Mesos 自身也很好地结合和支持了 Docker 等相关容器技术,基于 Mesos 已有的大量应用框架,可以是实现用户应用的快速上线。

简介

Mesos 可以将整个数据中心的资源(包括 CPU、内存、存储、网络等)进行抽象和调度,使得多个应用同时运行在集群中分享资源,并无须关心资源的物理分布情况。
如果把数据中心的集群资源看作一台服务器,那么 Mesos 要做的事情,其实就是今天操作系统内核的职责:抽象资源 + 调度任务;Mesos 拥有许多引人注目的特性,包括:

  • 支持数万个节点的大规模场景(Apple、Twitter、eBay 等公司使用);
  • 支持多种应用框架,包括 Marathon、Singularity、Aurora 等;
  • 支持 HA(基于 ZooKeeper 实现);
  • 支持 Docker、LXC 等容器机制进行任务隔离;
  • 提供了多个流行语言的 API,包括 Python、Java、C++ 等;
  • 自带了简洁易用的 WebUI,方便用户直接进行操作。

Mesos 自身只是一个资源抽象的平台,要使用它往往需要结合运行在其上的分布式应用(framework)。

Read more »
1…444546…55
necusjz

necusjz

271 posts
16 tags
© 2016 - 2026 necusjz
Powered by Hexo
Theme - NexT.Mist