课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 大数据专家、著名企业架构师、李兴华编程训练营技术课程主讲,管理过数十个大型Java项目与大数据项目。

  • 李兴华:沐言优拓教学总监。从事软件编程教育15年,从2008年起由清华大学出版社、人民邮电出版社、水利水电出版社,先后出版了十多本编程图书。

  • Python工程师讲师,讲解Python语法、并发编程、文件编程、WEB开发、人工智能、中国最早一批的Devops推广者

  • 系统架构师,主要讲解Java架构师课程,通过实际案例详细的讲解商用系统中高并发、高可用、分布式设计架构与集群设计。

  • 系统架构师,Java工程师讲师,综合讲解Java课程技术,包括:JavaSE、数据库、WEB开发、框架开发、项目实战

  • 课程详情


    Java架构师是现在开发工程师的热门职位,同样也是高薪职位,架构师不仅需要掌握大量的系统架构设计方案,同时还需要有非常强大的编程功底,以及对于Java底层知识体系的深刻理解能力,在参加完《Java工程师》学习之后就可以参与到架构师的学习,在架构师的学习中我们将亲身感受到集群设计的魅力以及软件架构的无穷想想。
     


    1、工程管理

          项目不仅仅是完成业务需求的开发,同时更是一套软件管理能力的体现,传统开发中每一次的构建都要手工进行的方式是不是很枯燥?各个“版本日”是否让你记忆犹新,胆战心惊?所以更合理的项目构建管理就成为了现代软件技术的重要组成部分,基于Jenkins的构建管理是一种简单的处理环境,将通过Jenkins与Gradle的结合为学员构建自动构建的设计思想。

    Gradle构建工具
    Java生态体系中有三大构建工具:Ant、Maven和Gradle。其中,Ant是由Apache软件基金会维护;Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程;Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。经过几年的发展,Ant几乎销声匿迹,而Maven由于较为不灵活的配置也渐渐被遗忘,而由于Gradle是基于Ant和Maven的一个优化版本,变得如日中天,在本次课程中我们考虑到未来的技术发展走向,架构师课程将以Gradle为主要构建工具。
     
    Jenkins
    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
    设计、实现并且执行具有一定灵活性、可控性以及易于维护性的持续交付流水线。定义流水线即代码、集成其他关键技术,以及创建自动化的、可靠的流水线,以便简化和加速DevOps环境建设。
     
    开发规范
    减少甚至杜绝代码管理导致的线上事故;
    提高开发和测试的工作效率;
    方便运维处理发布和回滚;
    让项目的开发可以灵活适应多变的需求,多人协同开发;
     

    2、框架源码分析

     
    开发框架会使用了吧?但是其核心的实现原理是否理解呢?最为重要的是作为一名优秀的架构师不仅仅要会使用开发框架,还需要深刻的理解框架的实现机制以及源代码组成结构,所以本阶段将为读者分析Spring、SpringMVC、MyBatis、Netty课程源代码组成结构。

    Spring核心源码分析
    Spring开发框架是在当今项目开发中使用最多的开发框架技术,同时其设计的结构也是被所有开发者竞相模仿,在各个大型公司进行面试中往往都需要面试者分析过Spring开发框架的源代码,为此在训练营课程内部为每一位学员安排了Spring核心源代码的分析,从Spring启动流程、解析机制、事务控制等进行全面解读。
     
    SpringMVC核心源码分析 
    SpringMVC开发框架可以为用户提供方便的MVC结构支持,同时其内部也支持有方便的数据接收、对象转换以及数据返回操作。
     
    Mybatis核心源码分析
          MyBatis作为常用的ORM开发框架在其实际应用中除了基本的数据库操作之外,还需要深刻的理解其内部程序类的处理机制,本课程通过MyBatis课程源代码组成结构为学员进行MyBatis各个实现机制的处理流程。
     
    Netty框架与核心源码分析
          Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序,其基于NIO传统设计包装,并且可以实现更加简单的高性能处理。 本课程将为读者讲解Netty开发框架之中的相关内容,包括:TCP程序、UDP程序、HTTP服务器、WebSocket服务构建等相关内容,同时在课程讲解中还会为每一位学员分析Netty框架源代码的组成结构。
     
    程序设计方案
          会写程序了?但是写出的程序没有完善的设计结构,不理解设计原则与设计模式,那么就仅仅只能够做到“模仿”,为了让每一位学员可以深刻的理解框架设计中的各个设计思想,我们在课程安排的过程中也会针对于设计原则、设计模式等概念进行详细的原理分析,目的是为了让每一位学员可以更加的理解开发之上的设计思想。
     

    3、分布式架构

           一名优秀的架构师除了可以深刻的理解编程语言底层结构以及开发框架的设计思想之后,还需要掌握分布式架构的设计与服务搭建,在本课程中将为学员详细的讲解分布式架构的设计原则,同时讲解在现代项目集群中主要使用到的技术架构:RabbitMQ消息服务、Redis缓存数据库、ElasticSearch数据检索、MySQL集群、分布式存储、Nginx负载均衡。
     
    分布式架构
          分布式架构演变、通用架构技术点、架构技术整合,不同的项目有不同的项目设计思想,根据具体的场景进行一个合适的架构设计。
     
     
    RabbitMQ消息组件
          异构系统整合处理过程之中,现阶段使用最多的就是消息组件,而对于消息组件中较为稳定的就是RabbitMQ,同时此组件与Spring的整合效果也是最佳的,本课程为学员讲解了RabbitMQ服务搭建、不同类型的消息处理、以及Spring整合等技术知识。
     
    Redis缓存数据库
          Redis是当今世界上使用最多的NoSQL数据库,其拥有强大的数据查询性能,是现代项目开发中解决高并发的重要技术之一。
          本课程为读者详细的讲解了传统SQL、NOSQL数据库的区别,同时重点讲解了Redis数据库的操作特点,并且通过实际操作的形式在Linux操作系统中进行了Redis源代码的安装、服务配置、安全认证与性能监控等操作,并且利用详细的案例分析了Redis中各个数据类型的使用。
          数据库的提出是为了便于程序开发使用,本课程重点讲解了基于Netty框架技术实现的Lettu客户端操作,并且基于Lettu讲解了连接池、SpringDataRedis、事务、乐观锁、发布订阅模式的开发实现。
          为了解决数据存储的安全问题,本课程又详细的讲解了Redis主从架构、哨兵机制以及RedisCluster的服务部署与程序开发,最后通过抢红包以及分布式锁两个案例为读者分析了Redis的核心应用。
     
    ElasticSearch数据检索
          ElasticSearch是当今集群架构行业中最为重要的数据搜索引擎,同时也是检索性能最高的数据引擎,在亿级数据搜索体系中占据有重要的组成部分,为了提升程序的检索性能在架构师课程中专门配置了ELK的相关课程内容。
     
    MySQL服务集群
          SQL数据库是现代项目存储的重要依据,而随着数据量的不断攀升,那么就需要对SQL数据库的存储有着更多的技术要求,本课程基于MyCat开源组件讲解了库表分离设计原则、水平分库以及垂直分库的技术应用。
     
    Nginx
          高并发的设计结构并非单台主机可以提升,这样就需要有更多的WEB服务器提供相同的服务,而为了使这些服务器都可以正常使用,那么就需要为其配置有反向代理组件,本课程为学员讲解了Nginx服务的配置、集群代理以及https证书配置的相关内容。
     
    FastDFS
          FastDFS是常见的分布式数据存储架构,基于FastDFS可以方便的进行图片、视频内容的存储,同时可以方便的进行存储节点的扩充,是现代项目存储的重要技术手段,在本课程中为读者详细讲解了FastDFS组件的配置以及与Nginx组件的整合。
     

    4、分布式认证授权管理

          系统服务器中会存在有大量的服务应用,这样就需要有一套专门的应用负责管理和维护整个系统中的认证与授权操作机制,同时提供有统一的认证机制,所以在任何的分布式系统中都需要有完善的认证与授权中心。
     
    Shiro开发框架
          Shiro是Apache推出的,并且是现在最流行的一套开发框架,利用Shiro可以方便的实现用户的认证以及角色认证的操作处理,在所有的项目开发之中都会被大量的采用。
          本课程将为读者详细的讲解Shiro开发框架的每一个组成部分,并且重点结合当前开发的主流要求,详细的讲解了与Spring开发框架的整合开发,同时也完整讲解了Shiro的实现机制。
     
    OAuth单点登录
          OAuth是现代互联网上使用最广泛的单点登录机制,各大网络平台上都提供有OAuth操作规范,本课程为学员分析了OAuth的操作流程、实现原理,并且基于Shiro实现了OAuth2服务端与客户端开发。
     
    JWT
          JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案,利用token机制实现用户身份验证,同时在Vue.JS中也经常使用到JWT开发机制实现用户登录认证处理操作,本课程为学员分析了JWT的操作流程以及JWT的实战开发。
     

    5、高可用与高并发

          分布式架构提升了程序的并发处理性能,但是为了保证服务架构的稳定性,就需要进行更加有效的负载均衡设计,所以基于代理的高并发与高可用机制是稳定架构的设计主题,而这就需要有大量的第三方负载均衡组件支撑,本课程中将为学员详细的讲解这些组件的使用。
     
    LVS
          LVS(Linux Virtual Server)即Linux虚拟服务器是现代企业项目中最为常用的开源负载均衡项目,本课程中会通过LVS的具体配置与其他服务组件整合实现服务的高可用机制。
     
    Keepalived
          基于VIP技术的一种虚拟应用,可以有效的在代理之上(Nginx、HAProxy)进行高可用处理。
     
    OpenResty
    OpenResty是基于Ngnix和Lua的高性能web平台,内部集成精良的LUa库、第三方模块、依赖项。用于方便搭建能够处理高并发、扩展性极高的动态web应用、web服务、动态网关。可以使用Lua脚本调用Ngnix支持的C以及Lua模块,快速构建10K~1000K单机并发连接的高性能web应用系统。OpenResty的目标是让web服务直接运行在Nginx服务内部,利用Ngnix的非阻塞IO模型,对HTTP客户端请求和后端DB进行一致的高性能响应。OpenResty的出现可以说是颠覆了高性能服务端的开发模式。OpenResty实际上是Nginx+LuaJIT的完美组合。

     

    6、服务监控

          完善的服务管理除了要保证有分布式与高并发的支撑之外,服务的及时监控以及错误的收集,所以就需要使用到各种开源的监控工具,在本课程中为每一位读者详细的讲解Sentry、Jaeger、
    Prometheus、cat等监控工具的使用
     
    集群监控工具
          监控工具是进行服务稳定性的重要组成结构,将集群中的主机与结构进行统一的监控管理,可以及时进行项目预警或者针对于出现的程序错误进行分析。

     

    7、微服务架构

          微服务是当今炙手可热的技术话题,在微服务的开发过程之中,可以将复杂的大型业务进行合理的拆分,同时再利用一系列的服务管理工具进行有效的管理,本套课程将结合微服务的实际应用进行开发讲解。
     
    Dubbo
    阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。
    Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
     
    SpringBoot
          SpringBoot是Spring开发框架中微服务的核心基础,其最大的特点是简化了Spring开发框架的复杂配置,采用更加小巧的模型方便的实现各个外部组件的整合处理,同时提供有方便的模版开发技术,使得WEB开发更加便捷。
     
    Spring Cloud
    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

     

    8、Devops

          DevOPS是一套更加成熟的CI/CD管理组件,基于此组件模型可以实现扩展性更高的持续集成服务,在DevOPS中主要采用的核心架构为GitLab、Docker、Kubernates三个套件,在本系列课程中会通过模块化的讲解全面阐述DevOPS操作处理。
     
    Docker
          Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
     
    Kubernates
          kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
     
    DevOPS
          DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
     
    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课