摘要:一、异常处理 有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行try catch处理。 直接throws Exception 直接throws Exception,抛的异常太过宽泛,最好能抛出准确的异常,比如throws IOException之类。 User getUser
阅读全文
摘要:退款 退款的相关属性: 退款单号,订单号,子订单号,退款状态,退款金额,用户id,用户名称,支付方式,退款的银行流水号,退款原因,退款完成时间。 类型: 退款可以分为 仅退款、退货退款。 状态机: 待审核、审核驳回、退款处理中、退款完成。 一般情况,不建议有 退款失败 的状态,可以用 退款处理中。退
阅读全文
摘要:一、订单 订单相关属性: 订单号、子订单号、订单类型、订单状态、用户id、用户名称、单价、数量、总价、支付方式、支付时间、订单备注、运费等。 订单号和订单状态、支付方式,是比较重要的属性。 一个订单,可能会有多个子订单。 状态机: 订单状态:待支付、已支付、超时、取消、完成、关闭。 如果需要发货和收
阅读全文
摘要:商城的业务 电商、店铺、商品、营销、券、会员、积分、内容(feed流、信息流)、停车。 搞清楚业务,需要弄清楚 业务对象属性 以及 业务之间的关联关系。 会员: 会员级别,会员优惠,会员信息。 会员对象属性:会员id,会员级别,性别,生日,状态。 登录: 注册、登录、验证码、短信、一键登录、单点登录
阅读全文
摘要:Spring/SpringBoot 拦截器 拦截器的作用: 拦截器,可以进行请求过滤、权限管理、打印日志、数据校验等。 拦截器,可以在请求前、请求后进行处理。 代码示例: 拦截器 MyInterceptor: Spring的拦截器,需要实现 HandlerInterceptor 接口。 public
阅读全文
摘要:值班 项目组每天都会面临一些生产问题/咨询问题,需要研发人员去定位处理,要安排人员值班。 由谁对接用户 并不是说研发值班,就一定要由研发去对接用户。 不要让研发直接跟用户对接!!! 否则研发人员的工作效率会受到极大的影响,研发每天都会因此浪费大量的时间。解答一个问题,可能又会问多一些问题,没完没了,
阅读全文
摘要:一、定义 策略模式,针对每一个不同的类型,调用具有共同接口的不同实现类,从而使得它们可以相互替换。 策略模式 ,针对实现同一接口的不同的类,采用不同的策略。比如,面对高级会员、初级会员会采用不同的折扣。 策略模式,可以避免大量的if和else。 二、角色 策略模式涉及到三个角色: ● 环境(Cont
阅读全文
摘要:nacos注册中心调用服务失败 最近同事反馈后台的接口,一会可以调通,一会又报错,反复无常。 于是进入配置好的 nacos 注册中心的管理界面,从 服务管理 -- 服务列表,打开对应的服务,显示如下: 发现有两个 ip,明显一个是开发/测试环境,一个是本地启动的 ip, 将本地的 ip 点击 【下线
阅读全文
摘要:Kafka可靠性分析 多副本。 就Kafka而言,越多的副本数越能够保证数据的可靠性,副本数可以在创建主题时配置,也可以在后期修改,不过副本数越多也会引起磁盘、网络带宽的浪费,同时会引起性能的下降。一般而言,设置副本数为3即可满足绝大多数场景对可靠性的要求。部分业务比如银行对可靠性要求比较高,会副本
阅读全文