第十八周

Algorithm

链表问题

  • 链表在找不到前一个节点的时候,可以用赋值操作解决问题
  • 链表遇到需要找位置进行操作的时候可以使用双指针

二叉树和递归

  1. Maximum Depth of Binary Tree
  2. Minimum Depth of Binary Tree
  3. Invert Binary Tree

Review

Tips/Technology

一、Win10家庭版安装docker

  • 说明: Docker可以支持在mac、windows、linux上安装。但是在windows系统中Docker目前仅有win10专业版和企业版的安装包,win7/win8/win10家庭版需要通过docker toolbox来安装。

  • 下载dockerToolbox:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

  • 检查BIOS是否开启虚拟机化

  • 安装DockerToolbox

  • 双击 Docker Quickstart Terminal 会自动下载boot2docker环境(如果下载过慢可手动下载放到C:\Users${USER}.docker\machine\cache目录下)

  • 如果需要使用阿里云加速,需要注册阿里云后生成自己的镜像加速器 https://cr.console.aliyun.com/cn-beijing/instances/mirrors

  • 修改docker安装machine的位置 设置MACHINE_STORAGE_PATH环境变量,然后重启docker quickstart

二、Maven打包优化

1、增加跳过测试代码的编译命令-Dmaven.test.skip=true ;

2、增加编译-Dmaven.compile.fork=true 参数,用以指明多线程进行编译;

3、如果你用的Maven是3.×以上版本,可以增加-T 1C 参数,表示每个CPU核心跑一个工程;

完整命令如下

 mvn clean package -T 1C -Dmaven.test.skip=true  -Dmaven.compile.fork=true

三、Flink中的双流join

  • FlinkSQL 对join的支持情况
    Apache Flink目前支持INNER JOIN和LEFT OUTER JOIN(SELF 可以转换为普通的INNER和OUTER) 而且必须有强关联 关键字 ON。
  • 数据Shuffle和保存
    不论是INNER JOIN还是OUTER JOIN 都需要对左右两边的流的数据进行保存,将数据保存到两个State中存储。

LeftEvent到来存储到LState,RightEvent到来的时候存储到RState;

LeftEvent会去RightState进行JOIN,并发出所有JOIN之后的Event到下游;

RightEvent会去LeftState进行JOIN,并发出所有JOIN之后的Event到下游。

四、分布式技术选型 spring cloud 还是 dubbo

选型对比维度:

1)整体解决方案
Dubbo没有自带的配置中心,注册中心基于zookeeper
springcloud自身相对比较完善,有注册中心、配置中心、负载均衡、服务治理

2)底层调用
Dubbo基于rpc,速度快
springcloud基于http,访问相对dubbo慢

3)技术前沿性(趋势)
Dubbo已经比较成熟
springcloud技术相对前缘

4)开发语言及开放度
都是Java,开源

5)社区活跃度
Dubbo官方已没有维护,但基本上能碰到的问题,网上能找到解决方案
springcloud英文的,资料比较少。

Share

Research

docker入门、Flink join 、分布式

你可能感兴趣的:(第十八周)