下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 61 | 手工服务部署和测试(下)
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Spring Boot与Kubernetes云原生微服务实践

共94讲 · 约900分钟
4748
免费
01 | 课程介绍
免费
02 | 背景说明
免费
03 | 课程目标和主要内容
免费
04 | 课程案例需求
免费
05 | 课程补充说明
免费
06 | 为何采用微服务架构?
免费
07 | 架构设计和技术栈选型
08 | 数据和接口模型设计:账户...
09 | 数据和接口模型设计:业务...
10 | Dubbo、Spring Cloud和Ku...
11 | Dubbo、Spring Cloud和Ku...
12 | Dubbo、Spring Cloud和Ku...
13 | 技术中台到底讲什么?
14 | Staffjoy项目结构组织
15 | 谷歌为何采用单体仓库(Mo...
16 | 微服务接口参数校验为何重...
17 | 如何实现统一异常处理?
18 | DTO和DMO为什么要互转?
19 | 如何实现基于Feign的强类...
20 | 为什么框架层就要考虑分环...
21 | 异步处理为何要复制线程上...
22 | 为你的接口添加Swagger文...
23 | 主流微服务框架概览
24 | 网关和BFF是如何演化出来...
25 | 网关和BFF是如何演化出来...
26 | 网关和反向代理是什么关系...
27 | 网关需要分集群部署吗?
28 | 如何设计一个最简网关?
29 | Faraday网关代码解析(上...
30 | Faraday网关代码解析(下...
31 | 生产级网关需要考虑哪些环...
32 | 主流开源网关概览
33 | 安全认证架构演进:单块阶...
34 | 安全认证架构演进:单块阶...
35 | 安全认证架构演进:微服务...
36 | 基于JWT令牌的安全认证架...
37 | JWT的原理是什么?
38 | JWT有哪两种主要流程?
39 | Staffjoy安全认证架构和S...
40 | 用户认证代码剖析
41 | 服务调用鉴权代码剖析
42 | 如何设计用户角色鉴权?
43 | Spring Boot微服务测试该...
44 | 什么是契约驱动测试?
45 | 什么是测试金字塔?
46 | 单元测试案例分析
47 | 集成测试案例分析
48 | 组件测试案例分析
49 | Mock vs Spy
50 | 何谓生产就绪(Production...
51 | Spring Boot如何实现分环...
52 | Apollo vs SpringCloudC...
53 | CAT vs Zipkin vs Sk...
54 | CAT vs Zipkin vs Sk...
55 | 结构化日志和业务审计日志
56 | 集中异常监控和Sentry
57 | EFK & Prometheus &...
58 | 本地开发部署架构和软件需...
59 | 手工服务部署和测试(上)
60 | 手工服务部署和测试(中)
61 | 手工服务部署和测试(下)
62 | SkyWalking调用链监控实...
63 | Docker和Docker Compose...
64 | 容器镜像构建Dockerfile解...
65 | Docker Compose服务部署...
66 | 将Staffjoy部署到本地Doc...
67 | 将Staffjoy部署到本地Doc...
68 | 到底什么是云原生架构?
69 | Kubernetes背景和架构
70 | Kubernetes有哪些基本概念...
71 | Kubernetes有哪些基本概念...
72 | 理解Kubernetes节点网络和...
73 | 深入理解Service和Service...
74 | NodePort vs LoadBalanc...
75 | 本地测试Kubernetes部署文...
76 | 本地测试Kubernetes环境搭...
77 | 将Staffjoy部署到本地Kub...
78 | 将Staffjoy部署到本地Kub...
79 | 生产环境Kubernetes部署文...
80 | 阿里云Kubernetes环境创建
81 | 将Staffjoy部署到阿里云K...
82 | Kubernetes应用动态配置实...
83 | Kubernetes应用金丝雀发布...
84 | 阿里云资源释放
85 | 课程复盘
86 | 项目扩展和应用
87 | Account服务
88 | Company服务
89 | Mail、SMS和Bot服务
90 | Faraday服务
91 | WhoAmI服务
92 | WWW服务
93 | 前端应用
94 | 结束语

精选留言(9)

  • 2019-09-08
    波波老师,我注册时候发邮件报下面的错误,目前没找到版本解决,能否帮忙看下。

    com.aliyuncs.exceptions.ClientException: InvalidUser.NotFound : The specified user does not found.
    RequestId : E65185BE-15D8-4CAF-BE4D-81A20E9FE8F5
        at com.aliyuncs.DefaultAcsClient.parseAcsResponse(DefaultAcsClient.java:151)
        at com.aliyuncs.DefaultAcsClient.getAcsResponse(DefaultAcsClient.java:96)
        at xyz.staffjoy.mail.service.MailSendService.sendMailAsync(MailSendService.java:67)
        at xyz.staffjoy.mail.service.MailSendService$$FastClassBySpringCGLIB$$94ad016b.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    展开

    作者回复: 你好,我尝试了一下发给我163的邮箱,用默认的FROM = "staffjoy@dm.staffjoy.xyz",是可以收到的。

    Staffjoy发邮件用的是阿里云DirectMail服务,可能这个发信地址是和我的阿里云账户绑定的,如果你要改设自己的DirectMail的发信邮箱,有点麻烦,参考:https://help.aliyun.com/document_detail/29426.html?spm=a2c4g.11186623.6.557.54485748dBWkAp

    如果发不了邮件的话,有一个小技巧可以绕过,如果注册邮件发不成功,代码会抛和log一个异常(邮件发送失败都会发异常日志),这个异常里头有激活邮件连接,把这个链接贴到浏览器就可以激活了。其它邮件信息都可以通过异常日志看。

    另外,非生产环境,邮件只能发给指定邮箱后缀的用户,这个在mail-api的MailConstant中可以改代码常量STAFFJOY_EMAIL_SUFFIX,默认发给STAFFJOY_EMAIL_SUFFIX = "@jskillcloud.com"

    1
    1
  • 2019-11-08
    运行app单页应用是报这个错: Error: Cannot resolve module 'npm-zepto',怎么破?

    作者回复: 你好,Staffjoy的前端构建是要求Linux或者Mac环境的,Windows环境暂不支持。如果是Windows环境,有几个办法可以尝试:

    1. 安装Linux虚拟机(比如用Vagrant),在虚拟机里头构建。
    2. 有学员给出了一个在windows构建的修复方案(https://github.com/spring2go/staffjoy/issues/6),可以尝试下
    3. 跳过构建,直接用波波已经打好的镜像(https://hub.docker.com/u/boboweike),构建实际就是生成静态的html/js文件,然后放在nginx目录下,打成镜像,这步骤理解即可,没必要完全动手操作。

    另外,如果在Linux或者Mac环境,也要求网络良好,github可以正常访问,因为Staffjoy的前端构建需要到github上下载sass编译库。

  • bobo老师 frontend\app 服务引用 "npm-zepto": "^1.1.7",
    无法通过编译,我用 "zepto": "^1.2.0"
    代替后,登陆成功跳转 http://app.staffjoy-v2.local/ 无法显示界面

    作者回复: 通过浏览器(建议chrome)检查下,页面加载为何失败,是否有错误提示。frontend单页应用的编译目前仅支持Linux/Mac环境, 如果是Win环境,建议在虚拟机(如VirtualBox/Docker)环境中编译。

  • 2019-10-03
    03-10-2019 04:55:03.305 [http-nio-8086-exec-4] ERROR x.s.web.controller.ResetController.log - {"message":"Failed password reset","errorMessage":"status 404 reading AccountClient#requestPasswordReset(String,PasswordResetRequest)","env":"dev","service":"www-service"}
    feign.FeignException: status 404 reading AccountClient#requestPasswordReset(String,PasswordResetRequest)

    通过feign调用就会报错。。
    展开

    作者回复: 错误提示Account-Svc没有正常启动,看Account-Svc控制台日志,看哪一步出错了。

    1
  • 2019-09-23
    用自己的阿里云邮件推送调用成功啦

    作者回复: 不错!碰到问题,自己思考动手解决,这样的学习效果最好。

  • 2019-09-04
    老师,这个部署会遇到跨域问题吗?单页面应用解决跨域问题的最佳实践是什么

    作者回复: staffjoy应用的单页和api都住在同一根域下,应该没有跨域。

    跨域的话,可以在网关上统一加支持跨域cors headers。

  • 2019-09-02
    波波老师,本地测试时,我把两个单页应用部署在mac上,所有的后端服务和网关部署在win上,修改host为
    # staffjoy_localhost_dev
    127.0.0.1 account.staffjoy-v2.local
    127.0.0.1 company.staffjoy-v2.local
    127.0.0.1 farady.staffjoy-v2.local
    127.0.0.1 whoami.staffjoy-v2.local
    127.0.0.1 www.staffjoy-v2.local
    127.0.0.1 ical.staffjoy-v2.local
    127.0.0.1 staffjoy-v2.local
    192.168.0.169 myaccount.staffjoy-v2.local
    192.168.0.169 app.staffjoy-v2.local
    其中169为mac的内网ip,但是最后访问
    myaccount.staffjoy-v2.local和app.staffjoy-v2.local时不能正常打开,
    farady网关的路由映射我也改了
          name: myaccount_route
          host: myaccount.staffjoy-v2.local
          destinations: 192.168.0.169:9000
        -
          name: app_route
          host: app.staffjoy-v2.local
          destinations: 192.168.0.169:9001

    用ip+port可以访问两个单页应用,就是进去一直在刷新,想问下这种分开部署的话还有哪个地方要配的吗?
    展开

    作者回复: 很奇怪的做法,我没有试过,你为啥不都放在mac上呢?

    如果你确实要这么做,可以尝试(但不保证可行),你在哪台机器的浏览器去访问的,就要在那台机器上配host映射,因为浏览器中的单页应用通过本机的域名映射去找到faraday网关ip地址,然后才能向后台发起api调用。如果有问题,可以在浏览器中调试js下,看看哪步骤出错了。

    1
  • 2019-08-29
    波波老师,我测试的时候发现feign做的远程调用都返回501 not implemented错误,自己手写httpurlconnection也是这个错误。用postman没问题。发生501时候在tomcat的connector里打断点也没见到触发断点。好奇怪的错误。波波老师提示下吧,给个继续分析问题的方向

    作者回复: 你这个是staffjoy的案例吗?

    光从描述看,我也看不出什么问题啊,看看content-type application/json是否正确设置。或者把postman的request headers抓出来,和feign/httpurlconnection的request headers进行比对。

  • 2019-08-20
    波波老师,阿里云发邮件失败,这个有参考文档吗?我本地报错:
    "message":"Unable to send email ","errorMessage":"InvalidUser.NotFound : The specified user does not found

    作者回复: 通过阿里云发送邮件需要合法有效的aliyun-access-key和aliyun-access-secret,这样才能正常调用阿里云api,你有阿里云账号?