Architecture Phase1 Week11:HomeWork
不可用得原因如未考虑故障隔离,未做高并发得异步处理,排队机制等。处理事务非对等。
要高可用则需要,解耦,隔离,异步,备份,Failover(失效转移),幂等,事务补偿,重试,熔断,限流
Boolean checkPW(String uid,String psw,String epsw){
private Mac mac;
private static final String KEY_MAC = "PhyMAC";
try {
byte[] signature=epsw.getBytes();
SecretKey secretKey = new SecretKeySpec(uid.getBytes(ConstField.UTF8), KEY_MAC);
mac = Mac.getInstance(secretKey.getAlgorithm());
mac.init(secretKey);
byte[] result = mac.doFinal(psw.getBytes());
return Arrays.equals(signature, result);
} catch (Exception e) {
logger.error("create hmac helper failed.", e);
}
return false;
}
版权声明: 本文为 InfoQ 作者【phylony-lu】的原创文章。
原文链接:【http://xie.infoq.cn/article/afd89b8db8a5505d0adeb2e3c】。文章转载请联系作者。
评论