시리즈 재구성 (1)

3489 단어

배경


회사에 온 지 45개월이 되었는데 회원의 관련 프로젝트를 계속 인수했습니다. 사실 우리는 회원이 공공 모듈에 속한다는 것을 알고 있습니다. 회사의 프로젝트가 모두 늙었기 때문에 대부분이 jb입니다. 그러나 jb는 현재 유지보수할 수 없습니다. 이전의 코드는 각종 봉인을 했는데 정말 무겁습니다. 기본은 수정할 수 없는 상태에 속합니다. 그래서 몇 년 전부터 천천히 jb로 갔지만 제어가 잘 되지 않아 버전이 다양합니다.인터페이스가 열렸어, 누구한테 열렸어, 그거 쓰고 있어, 그거 소용없어.따라서 조만간 계획에 따라 프로젝트를 재구성한다.

2. 왜 재구성


(1)Api인터페이스 재구성 가독성은 그런대로 괜찮지만 누가 기술을 설치하기 위해 직접 쓴 프레임워크로 3층으로 나뉘어 서비스 엔진, 클라우드 엔진, 데이터 엔진을 구성했다. 그 중에서 서비스 엔진에 필터가 하나 있는데 모든 인터페이스가 요청하는 입구로 삼았다. 그 다음에 방법명은 인터페이스 이름이다. 필터를 통해 반사를 호출하여 서비스 엔진을 찾는 방법이다.서비스 엔진에서 socket 통신을 통해 데이터 엔진을 호출하기 때문에 클라우드 엔진은 하나의 공공 봉인, 공공 데이터 불러오기, socket 통신 등이다.그러나 생각은 좋지만 socket 통신이 불안정하고 지원하는 양도 많지 않아서 인터페이스 요청이 매우 느리다. 심지어 때로는 연결 이상도 있다. 테스트 환경에서 자동화를 거쳐 다음 날 아침에 오면 서버를 다시 시작해야 한다. 그리고 한 층에서 한 층을 호출하기 때문에 복잡하지 않은 업무가 클라우드 엔진을 거치면 더욱 복잡해진다. 현재의 모듈화는 아니다.서비스 엔진이 호출된 후에 데이터 층을 찾으려면 검색을 해야 합니다. 이것은 두 개의 독립된 프로젝트이기 때문에 버그를 찾는 것은 매우 번거롭습니다.그러나 유지보수성이 낮고 안정성이 떨어지기 때문에 재구성이 필요하다.
(2) 백그라운드 관리 시스템의 백그라운드 시스템은 유지 보수 작업을 할 수 없다고 할 수 있다. 그 재구성은 필수적이다. 백그라운드 관리 시스템의 사용자를 대상으로 하는 것은 바로 회사 내부 관리자, 운영 인원, 판매 인원 등 관계자들이 사용하거나 조회하는 것이다.판매원이 보기에는 후기 데이터 분석과 연합하여 사용하고 사용자 행위 데이터를 분석함으로써 업무 홍보, 활동 홍보 등을 하는 것이 틀림없다.그래서 새로운 시스템이 다시 작동하는 것은 필연적이다.

3. 재구성의 출발점


재구성의 출발점은 명확해야 한다. 만약 재구성 결과가 이전의 시스템과 같다면 우리가 재구성할 필요가 있는가?그래서 우리가 먼저 재구성하는 출발점은 현재의 업무를 지탱할 수 있고 미래의 확장성을 확보할 수 있는 시스템을 만드는 것이다. 다시 말하면 백점은 지속가능하고 유지보수성이 갱신되고 교체되는 시스템을 만들고 회사의 후기 업무 발전을 지탱하는 수요이다.그래서 회원 백그라운드 시스템의 갱신 교체에 대해 다음과 같은 몇 가지 확정이 있다. 1.기초 능력화: 기본적인 기능을 만족시킨다.2. 데이터화: 데이터 변화를 보여주고 응용 분석을 한다.3. 지능화: 다차원 데이터 가공.회원api인터페이스에 대해서도 몇 가지 확실한 것이 있습니다. 1.인터페이스의 개방 가능: 대외 개방 인터페이스,open 개발 플랫폼.2. 인터페이스의 대내: 인터페이스는 각 업무를 연결하고 회사의 모든 업무 라인을 지탱할 수 있다.그래서 전체 회원 시스템은 안전성, 조작성, 편리성, 호환성, 확장성을 갖추어야 한다.시스템은 우리가 먼저 덧셈을 해야 하고, 뺄셈을 해야 하며, 반드시 통증을 해결해야 한다.후기 데이터에 대한 분석에 있어서 우리는 다차원 데이터 가공이 필요하다. QQ와 유사하다. 사람에 대한 분석은 1800개의 차원이 있는 것 같지만 사실 나는 그렇게 많은 것을 상상할 수 없다.그래서 구조화된 데이터의 깊이 있는 분석은 매우 중요하다. 이것은 우리가 데이터를 얻고 마케팅을 하는 데 필요하다. 스마트 분석, 정확한 마케팅이 필요하다.

4. 영향 요소 재구성


재구성은 쉽지만 조금만 생각해도 골치 아프고 호환성!!!즉, 인터페이스에 대해 이전의 인터페이스를 호환해야 하기 때문에 재구성된 코드가 데이터를 되돌려주는 것은 이전과 일치해야 한다.백그라운드 시스템은 이전의 모든 기능을 포함해야 하며 많든 적든 상관없다.재구성과 관련된 또 다른 요소는 데이터베이스이다. 데이터베이스 테이블 디자인은 큰 요소에서 시스템의 확장성에 영향을 주고 성능에도 영향을 미친다.그리고 우리 데이터베이스에 있는 몇몇 데이터는 비교적 난잡하다.예를 들어 상태, 일부 여분의 데이터가 있기 때문에 재구성할 때 불확실하거나 혼란스러운 상태 데이터에 대해 처리해야 한다.데이터베이스 테이블 관계의 정리는 백그라운드 업무 논리에 매우 필요하다.

5. 일지의 처리 사고


api는 한 번에 네 개의 서버를 배치할 계획입니다. 그러면 네 개의 서버의 로그는 각각 서버의 주소에 저장됩니다. 만약에 버그를 찾을 때마다 저는 네 개의 서버를 연결하고 각각 로그를 볼 것입니다.이전의 문제에 따라 네 서버의 로그를 찾습니다.이것은 이미 발생한 문제를 처리하는 방식이다.이런 로그 조회는 정말 마음속에 있다. 우리의 현재 모든 항목은 이렇게 로그를 찾아간다.그래서 로그 처리에 대해 우리가 모든 로그를 저장할 수 있는지의 여부를 알 수 있다. 내가 지금 생각할 수 있는 것은 매번 요청한 매개 변수, 인터페이스, 시간, IP 주소, 이상 상황 등 관련 정보를 데이터베이스에 저장하고 정기적으로 데이터를 정리하는 것이다.이른바 로그 처리 시스템을 사용한 적이 없기 때문에, 나는 현재kafka가 로그를 작성하기에 비교적 적합하다는 것만 알고 있다.그래서 지금 한 걸음 한 걸음 시스템을 재구성한 다음에 부족함을 보완해야 한다.일지는 어떻게 처리해야 할지 생각해야 한다.

6. 호어

                                          __                                                        
                            __  _  ____ __|  |__ _____    ___
                            \ \/ \/ /  |  \  |  \\__  \  /  _ \   
                             \     /|  |  /   Y  \/ __ \(  <_> )
                              \/\_/ |____/|___|  (____  /\____/ 
                                                    \/     \/          
           , , , 。
                                                       

좋은 웹페이지 즐겨찾기