Pages

Saturday, 31 October 2020

寻根 美籍华人Nathan和Alana寻根之旅开启 祖辈世代生活的地方会给他们怎样的心灵碰撞?

其实没什么好寻的。既然离开了故土(中国),那肯定是故土令他们不满,只好到海外谋生。有什么好寻根的呢?

-----

看完全片后,觉得寻寻也没坏处

Apollo

 Apollo(阿波罗)是携程公司的框架部门研发的分布式配置中心,能够集中化管理/应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

Apollo - A reliable configuration management system

Build Status GitHub Release Maven Central Repo codecov.io License

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

更多产品介绍参见Apollo配置中心介绍

本地快速部署请参见Quick Start

演示环境(Demo):

如访问github速度缓慢,可以访问gitee镜像,不定期同步

Screenshots

配置界面

Features

  • 统一管理不同环境、不同集群的配置

    • Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。
    • 同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等
    • 通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖
    • 配置界面支持多语言(中文,English)
  • 配置修改实时生效(热发布)

    • 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序。
  • 版本发布管理

    • 所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。
  • 灰度发布

    • 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。
  • 权限管理、发布审核、操作审计

    • 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。
    • 所有的操作都有审计日志,可以方便的追踪问题。
  • 客户端配置信息监控

    • 可以方便的看到配置在被哪些实例使用
  • 提供Java和.Net原生客户端

    • 提供了Java和.Net的原生客户端,方便应用集成
    • 支持Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便应用使用(需要Spring 3.1.1+)
    • 同时提供了Http接口,非Java和.Net应用也可以方便的使用
  • 提供开放平台API

    • Apollo自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、权限、流程治理等特性。
    • 不过Apollo出于通用性考虑,对配置的修改不会做过多限制,只要符合基本的格式就能够保存。
    • 在我们的调研中发现,对于有些使用方,它们的配置可能会有比较复杂的格式,如xml, json,需要对格式做校验。
    • 还有一些使用方如DAL,不仅有特定的格式,而且对输入的值也需要进行校验后方可保存,如检查数据库、用户名和密码是否匹配。
    • 对于这类应用,Apollo支持应用方通过开放接口在Apollo进行配置的修改和发布,并且具备完善的授权和权限控制
  • 部署简单

    • 配置中心作为基础服务,可用性要求非常高,这就要求Apollo对外部依赖尽可能地少
    • 目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来
    • Apollo还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数

Usage

  1. 应用接入指南
  2. Java客户端使用指南
  3. .Net客户端使用指南
  4. 其它语言客户端接入指南
  5. Apollo开放平台接入指南
  6. Apollo使用场景和示例代码
  7. Apollo实践案例
  8. Apollo安全相关最佳实践

Design

Development

Deployment

Release Notes

FAQ

Presentation

Publication

from  https://github.com/ctripcorp/apollo

fullstack-tutorial

后台技术栈/架构师之路/全栈开发社区.

https://frank-lam.github.io/fullstack-tutorial 

IIIIIIIVVVIVIIVIIIIXXXIXII
算法
📝
Java
☕️
Python
🐍
前端
🔗
数据库
💾
操作系统
💻
网络通信
☁️
分布式
📃
机器学习
🔍
工具
🔨
Learn
📖
Talking
💡

📢📢📢

和 500+ 技术达人在线交流: QQ技术交流群

欢迎光临我的技术博客:www.frankfeekr.cn

欢迎志同道合的小伙伴加入开源小组:⊱ 开源小组,英雄招募令


🎯🎯🎯

为极客打造,阅读体验更好的在线文档(与 GitHub 实时同步)

支持手机阅读,目录导航,Gitalk 评论,搜索定位

📖 点击,即刻开始阅读!


🎯🎯🎯

也许你特别钟爱 GitHub 的阅读体验,没关系

我也为您打造了一款 Chrome 插件 Chrome Extension:GitHub Markdown

方便在 GitHub 长文阅读时,在侧边栏生成标题目录定位

🎅 特别鸣谢共同完成两位小伙伴:@dxiaoqi @dzeze

前言

  • 谈谈技术学习的一些方法论

    在学习技术这条路上并不是一帆风顺,也一直在探索一条适合自己的学习方法。从一开始的技术小白,到现在还比较上道的老鸟,在这个过程中走了太多的弯路,想在这里和大家分享一些我的经历和学习方法。

  • 如何选择自己的技术栈

    在编程的世界里,该如何选择自己的技术栈呢。学前端?学 APP 开发?对于 Java、C++、C#、Python、PHP 又如何选择呢?人工智能现如今这么火,是不是机器学习、深度学习更高级一些呢?那么程序员又如何修炼内功呢?

  • 全栈开发神兵利器

    工欲善其事,必先利其器。这里我将推荐开发过程中的提效工具、开发利器、协作工具、文档技术等等。

  • XP 极限编程

    敏捷软件开发中可能是最富有成效的几种方法学之一

技能图谱

  • backend skill

    后台开发技能图谱,从程序员的内功修炼到后台语言,分布式系统架构

一、数据结构与算法

  排序算法、动态规划、递归、回溯法、贪心算法等

二、Java

  基本概念、面向对象、关键字、基本数据类型与运算、字符串与数组、异常处理、Object 通用方法

  数据结构 & 源码分析:ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and LinkedHashMap

  线程状态、线程机制、线程通信、J.U.C 组件、JMM、线程安全、锁优化

  磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO

  运行时数据区域、垃圾收集、内存分配机制、类加载机制、性能调优监控工具

  Java 常见的 10 余种设计模式,全 23 种设计模式逐步更新

  包含 Servlet & JSP、Spring、SpringMVC、Mybatis、Hibernate、Structs2 核心思想,如 IOC、AOP 等思想。SSM 更详细请转向:Spring | SpringMVC | MyBatis

三、Python

四、前端

  • 前端知识体系
  • Vue
    • 第一个 Vue 应用程序
    • Vue-cli 脚手架
    • vue-router 路由
    • vuex 状态管理
  • Webpack
TODO LIST

五、数据库

  • MySQL

    存储引擎、事务隔离级别、索引、主从复制

  • Redis

    Redis 核心知识

  • SQL

    常用 SQL 语句

  • PostgreSQL

    一个开源的关系数据库,是从伯克利写的 POSTGRES 软件包发展而来的

  • MongoDB

    基于分布式文件存储的数据库

六、操作系统

  进程管理、死锁、内存管理、磁盘设备

  基础核心概念、常用命令使用

七、网络通信

  传输层、应用层(HTTP)、网络层、网络安全

  • RESTful API

    软件架构风格、格设计原则和约束条件

  • Web网络安全

    web前后端漏洞分析与防御,XSS 攻击、CSRF 攻击、DDoS 攻击、SQL 注入

  • Socket 网络编程

八、分布式

【说明】分布式专题 笔者也在学习中,这里列举了一些技能列表,笔者将局部更新。敬请期待

TODO LIST

九、机器学习

  • 深度学习初识

  • 经典机器学习算法

    K 近邻算法、线性回归、梯度下降法、逻辑回归、支持向量机、决策树、集成学习

十、工具

Learn 📖

  包含阅读清单,学习课程两部分

Talking 💡

本仓库致力于成为一个全栈开发爱好者的学习指南,给初学者一个更明确的学习方向,同时也是对自己技能的强化和巩固。在架构师这条路上,希望和大家一起成长,帮助更多的计算机爱好者能够有一个明确的学习路径。持续不间断的维护本仓库,也欢迎有更多的极客们加入。

都说好记性不如烂笔头,定期的学习和整理必然对学习巩固有所帮助,这里通过索引的方式对全栈开发技术做一个系统分类,方便随时巩固和学习,当然还有面试。在学习这条路上难免会有很多盲点和学不完的知识。有道无术,术尚可求,掌握好思维能力才能应对千变万化的技术。不要把大脑当成硬盘,也不要做高速运转的 CPU,而修行自己的大脑成为一个搜索引擎,学会分析解决问题。

Since 20,May,2018

Reference

个人的能力有限,在编写的过程中引用了诸多优秀的 GitHub 仓库。本项目的启发来自 @CyC2018 的学习笔记,是一个非常优秀的开源项目,在本仓库中部分内容引用文字和图例;引用了 @计算所的小鼠标 中对于 JCF 的源码分析和理解;引用了 阿里面试题总结 中全部的面试题,并对面经进行了整理勘误,并进行了知识拓展和修改;引用了 牛客网 上的面试经验贴。也引用了知乎上的热门回答和优秀博客的回答。在这里特别鸣谢,我将每篇文章中做外链引用说明。

文中我也推荐了学习的书籍和学习课程,都将附着上最高清、最形象的配图进行讲解。在文中的配图都来自自己绘制的、博客、Github、PDF书籍等等,这里没法一一感谢,谢谢你们。

推荐一些优秀的开源项目,供大家参考,reference

from https://github.com/frank-lam/fullstack-tutorial